Gibt es eine Möglichkeit, JS-Code alle 60 Sekunden auszuführen? Ich denke, es könnte mit einer whileSchleife möglich sein, aber gibt es eine bessere Lösung? JQuery willkommen, wie immer.
Gibt es eine Möglichkeit, JS-Code alle 60 Sekunden auszuführen? Ich denke, es könnte mit einer whileSchleife möglich sein, aber gibt es eine bessere Lösung? JQuery willkommen, wie immer.
Antworten:
Verwenden von setInterval :
setInterval(function() {
// your code goes here...
}, 60 * 1000); // 60 * 1000 milsec
Die Funktion gibt eine ID zurück, mit der Sie Ihr Intervall mit clearInterval löschen können :
var timerID = setInterval(function() {
// your code goes here...
}, 60 * 1000);
clearInterval(timerID); // The setInterval it cleared and doesn't run anymore.
Eine "Schwester" -Funktion ist setTimeout / clearTimeout .
Wenn Sie eine Funktion auf page init und dann 60 Sekunden danach, 120 Sekunden danach, ... ausführen möchten:
function fn60sec() {
// runs every 60 sec and runs on init.
}
fn60sec();
setInterval(fn60sec, 60*1000);
60 * 1000, aber es ist auch eine gute Idee, die Funktion außerhalb zu definieren, anstatt eine anonyme Funktion zu übergeben.
Sie könnten dafür verwenden setInterval.
<script type="text/javascript">
function myFunction () {
console.log('Executed!');
}
var interval = setInterval(function () { myFunction(); }, 60000);
</script>
Deaktivieren Sie den Timer durch Einstellen clearInterval(interval).
Siehe diese Geige: http://jsfiddle.net/p6NJt/2/