W prostym setInterval
Jak od razu uruchomić pętlę setInterval?
setInterval(function() {
// Do something every 9 seconds
}, 9000);
Pierwsze działanie nastąpi po 9 sekund (t=9s
). Jak zmusić pętlę do natychmiastowego wykonania pierwszej akcji (t=0
)?
Myślę, że to ze względu na mechanizm setInterval
mieć pętlę Delay - Action - Delay - Action ...
; zamiast pętli Action - Delay - Action - Delay ...
.
EDIT: Moja funkcja jest rzeczywiście pętla jak
setInterval(function(){
$('.test').each(function(idx){
var duration = 1000;
$(this).delay(duration*idx);
Some stuff here
});
}, 4000);
Ładne, proste rozwiązanie, dzięki! –
Pierwsza część tej odpowiedzi będzie się stopniowo spowalniała, ponieważ nowa 'setInterval' jest tworzona w każdej pętli. Można to naprawić, zastępując 'window.setInterval' przez' setTimeout'. – spikespaz