Wywołaj funkcję js przy użyciu licznika czasu JQuery

137

Czy w ogóle istnieje możliwość zaimplementowania licznika czasu dla JQuery, np. co 10 sekund musi wywołać funkcję js.

Wypróbowałem następujące

window.setTimeout(function() {
 alert('test');
}, 10000);

ale to jest wykonywane tylko raz i nigdy więcej.

Elitmiar
źródło

Odpowiedzi:

216

Możesz użyć tego:

window.setInterval(yourfunction, 10000);

function yourfunction() { alert('test'); }
Kristof Claes
źródło
50
window.setInterval(function() {
 alert('test');
}, 10000);

window.setInterval

Wywołuje funkcję wielokrotnie, ze stałym opóźnieniem między każdym wywołaniem tej funkcji.

rahul
źródło
45

Może chcesz sprawdzić jQuery Timer, aby zarządzać jednym lub wieloma zegarami.

http://code.google.com/p/jquery-timer/

var timer = $.timer(yourfunction, 10000);

function yourfunction() { alert('test'); }

Następnie możesz to kontrolować za pomocą:

timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...
jchavannes
źródło
ładne narzędzie. Pozwala kontrolować cykl życia.
Jigar Shah
bardzo przydatne, gdy jeden zegar musi sterować innym zegarem
Onimusha
1
Otrzymuję błąd :( "TypeError: $ .timer is not a function"
sjd
2
to dlatego, że musisz pobrać wtyczkę z linku.
Giszmo
25

setInterval to funkcja, której potrzebujesz. Powtarza się co x milisekund.

window.setInterval(function() {
    alert('test');
}, 10000);
Ikke
źródło
11

jQuery 1.4 zawiera również metodę .delay (duration, [queueName]), jeśli potrzebujesz go tylko raz wyzwolić i już zacząłeś używać tej wersji.

$('#foo').slideUp(300).delay(800).fadeIn(400);

http://api.jquery.com/delay/

Ups ... mój błąd, że szukałeś zdarzenia, które będzie nadal wyzwalane. Zostawię to tutaj, ktoś może uznać to za pomocne.

Craig
źródło
2

Możesz użyć metody setInterval () , a także wywołać swoją setTimeout () na przykład z funkcji niestandardowej

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();
Aren Hovsepyan
źródło
-2
function run() {
    window.setTimeout(
         "run()",
         1000
    );
}
harfa
źródło
6
-1, ponieważ podanie łańcucha do wywołania eval zamiast zwykłego dostarczania funkcji jest źródłem zbyt wielu błędów.
vog