Maison >interface Web >js tutoriel >Comment puis-je modifier dynamiquement l'intervalle « setInterval » pendant l'exécution ?

Comment puis-je modifier dynamiquement l'intervalle « setInterval » pendant l'exécution ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-26 18:15:11793parcourir

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

Ajustement de l'intervalle de SetInterval pendant l'exécution

En cherchant un moyen de modifier dynamiquement l'intervalle de setInterval pendant son exécution, une requête émerge avec un approche suggérée pour ajuster l'intervalle en fonction d'un compteur.

La première tentative d'utilisation de var interval = setInterval(function() { ... }, 10*compteur); donne malheureusement un résultat inefficace. Pour obtenir le comportement souhaité, envisagez d'utiliser une fonction anonyme :

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

Cette approche consiste à effacer l'intervalle existant, à mettre à jour le compteur, puis à définir un nouvel intervalle avec l'intervalle ajusté.

Une alternative suggérée par A. Wolff exploite setTimeout au lieu de clearInterval pour éviter d'avoir à constamment effacer et réinitialiser l'intervalle :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn