Chciałem napisać skrypt, który powodował by ładne przejście na nową stronę po kliknięciu linku, czyli po prostu kilkukrotne zwiększanie opacity aż do 1 z jakimś opóźnieniem po każdej zmianie. Udało mi się to zrobić, ale nie jest to raczej najlepszy kod, zmienne globalne, etc:
var i = 10;
function display()
{
i = i + 1;
document.getElementById("content").style.opacity = i/100;
setTimeout("display()", 13);
}
Wg. mnie najlepszym rozwiązaniem byłoby napisanie jednej funkcji się tym zajmującej i w niej zagnieździć funkcję, która by się kilka razy wykonywała. Lepiej wygląda, niestety nie działa (doTimer() is not defined w setTimeoucie):
function display()
{
var i = 10;
function doTimer()
{
i = i + 1;
document.getElementById("content").style.opacity = i/100;
setTimeout("doTimer()", 13);
};
doTimer();
}
Mam właściwie kilka pytań:
- Czy dobrze robię że w jednym pliku .js piszę wszystko co jest mi potrzebne? Pisać do wszystkiego oddzielne funkcje, czy jakoś to grupować literałami obiektowymi, czy jeszcze jakoś inaczej?
- Dlaczego drugie rozwiązanie nie działa? I czy na pewno jest lepsze od 1?