Rufen Sie die js-Funktion mit dem JQuery-Timer auf

137

Gibt es sowieso einen Timer für JQuery zu implementieren, z. Alle 10 Sekunden muss eine js-Funktion aufgerufen werden.

Ich habe folgendes versucht

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

Dies wird jedoch nur einmal und dann nie wieder ausgeführt.

Elitmiar
quelle

Antworten:

216

Sie können dies verwenden:

window.setInterval(yourfunction, 10000);

function yourfunction() { alert('test'); }
Kristof Claes
quelle
50
window.setInterval(function() {
 alert('test');
}, 10000);

window.setInterval

Ruft eine Funktion wiederholt mit einer festen Zeitverzögerung zwischen jedem Aufruf dieser Funktion auf.

rahul
quelle
45

Vielleicht möchten Sie jQuery Timer ausprobieren , um einen oder mehrere Timer zu verwalten.

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

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

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

Dann können Sie es steuern mit:

timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...
jchavannes
quelle
schönes Dienstprogramm. Ermöglicht die Steuerung des Lebenszyklus.
Jigar Shah
Sehr nützlich, wenn ein Timer einen anderen Timer steuern muss
Onimusha
1
Ich bekomme einen Fehler :( "TypeError: $ .timer ist keine Funktion"
sjd
2
Das liegt daran, dass Sie das Plugin über den Link herunterladen müssen.
Giszmo
25

setInterval ist die gewünschte Funktion. Das wiederholt sich alle x Millisekunden.

window.setInterval(function() {
    alert('test');
}, 10000);
Ikke
quelle
11

jQuery 1.4 enthält auch eine .delay-Methode (Dauer, [Warteschlangenname]), wenn Sie diese nur einmal auslösen müssen und diese Version bereits verwenden.

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

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

Hoppla ... mein Fehler, Sie haben nach einem Ereignis gesucht, das weiterhin ausgelöst werden kann. Ich lasse das hier, jemand kann es hilfreich finden.

Craig
quelle
2

Sie können die setInterval () -Methode verwenden und Ihr setTimeout () beispielsweise über Ihre benutzerdefinierte Funktion aufrufen

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();
Aren Hovsepyan
quelle
-2
function run() {
    window.setTimeout(
         "run()",
         1000
    );
}
Harpax
quelle
6
-1, da die Bereitstellung einer Zeichenfolge für die Auswertung anstelle der einfachen Bereitstellung der Funktion die Wurzel zu vieler Fehler ist.
Vog