Heim > Web-Frontend > js-Tutorial > Wie kann ich das setInterval-Intervall in JavaScript dynamisch anpassen?

Wie kann ich das setInterval-Intervall in JavaScript dynamisch anpassen?

Mary-Kate Olsen
Freigeben: 2024-11-27 10:35:39
Original
548 Leute haben es durchsucht

How Can I Dynamically Adjust the setInterval Interval in JavaScript?

Dynamisches Anpassen des SetInterval-Intervalls

Diese JavaScript-Funktion hat ursprünglich SetInterval aufgerufen, um eine Zeichenfolge in einem festen Intervall von 100 Millisekunden zu bearbeiten:

var interval = setInterval(function() { ... }, 100);
Nach dem Login kopieren

Der Benutzer wünschte jedoch, dieses Intervall basierend auf einem Schleifenzähler dynamisch anzupassen. Die Änderung in:

var interval = setInterval(function() { ... }, 10*counter);
Nach dem Login kopieren

hat sich als unwirksam erwiesen.

Lösung mit anonymer Funktion

Um das gewünschte Verhalten zu erreichen, kann eine anonyme Funktion verwendet werden :

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

Diese Funktion löscht wiederholt das aktuelle Intervall, multipliziert den Zähler mit 10 und setzt das Intervall mit zurück der aktualisierte Wert.

Aktualisierte Lösung mit setTimeout

Wie von A. Wolff vorgeschlagen, bietet setTimeout einen alternativen Ansatz, der die Notwendigkeit von „clearInterval“ überflüssig macht:

var counter = 10;
var myFunction = function() {
    counter *= 10;
    setTimeout(myFunction, counter);
}
setTimeout(myFunction, counter);
Nach dem Login kopieren

Mit dieser Methode plant setTimeout die Funktion rekursiv mit dem neuen Intervall.

Das obige ist der detaillierte Inhalt vonWie kann ich das setInterval-Intervall in JavaScript dynamisch anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage