Maison >interface Web >js tutoriel >Comment puis-je modifier dynamiquement l'intervalle « setInterval » pendant l'exécution ?
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!