Heim >Web-Frontend >js-Tutorial >Wie kann ich das „setInterval'-Intervall während der Ausführung dynamisch ändern?

Wie kann ich das „setInterval'-Intervall während der Ausführung dynamisch ändern?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-26 18:15:11792Durchsuche

How Can I Dynamically Change the `setInterval` Interval During Execution?

Anpassen des Intervalls von SetInterval während der Ausführung

Auf der Suche nach einer Möglichkeit, das Intervall von setInterval während der Ausführung dynamisch zu ändern, erscheint eine Abfrage mit a Empfohlener Ansatz zur Anpassung des Intervalls basierend auf einem Zähler.

Der erste Versuch, var Interval = zu verwenden setInterval(function() { ... }, 10*counter); führt leider zu einem ineffektiven Ergebnis. Um das gewünschte Verhalten zu erreichen, sollten Sie den Einsatz einer anonymen Funktion in Betracht ziehen:

var counter = 10;
var myFunction = function(){
    clearInterval(interval);
    counter *= 10;
    interval = setInterval(myFunction, counter);
}
var interval = setInterval(myFunction, counter);

Dieser Ansatz beinhaltet das Löschen des vorhandenen Intervalls, das Aktualisieren des Zählers und das anschließende Festlegen eines neuen Intervalls mit dem angepassten Intervall.

Eine von A. Wolff vorgeschlagene Alternative nutzt setTimeout anstelle von clearInterval, um das ständige Löschen und Zurücksetzen des Intervalls zu vermeiden:

var counter = 10;
var myFunction = function() {
    counter *= 10;
    setTimeout(myFunction, counter);
}
setTimeout(myFunction, counter);

Das obige ist der detaillierte Inhalt vonWie kann ich das „setInterval'-Intervall während der Ausführung dynamisch ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn