Pause et reprise setInterval
window.setInterval(function(){
//do stuff
}, milisec);
Est-il un moyen d'arrêter cet intervalle, et de le reprendre à partir d'où il duré? Dire, le code s'exécute toutes les 5 sec. - Je l'arrêter au milieu de la 2ème, lors de la reprise, je le veux pour exécuter le reste 3 secondes et continuer à courir après toutes les 5 sec. de nouveau.
source d'informationauteur George Irimiciuc
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
1 - lorsque vous voulez
pause
la minuterie, calculer le reste millisecondes et de le stocker quelque part, puis appelclearInterval
.2 - Quand vous voulez
resume
le timer, il suffit de faire un appel àsetTimeout
passant le reste du temps stockées dans l'étape précédente comme argument.3 - Et dans
setTimeout
'callback, vous devriez appelersetInterval
de nouveau.Mise à JOUR: c'est Ce que vous voulez, une version modifiée de javascript: pause setTimeout(); grâce à @Felix Kling
Utilisation:
Vous devriez seulement besoin setTimeout avec un aller et arrêter - http://jsfiddle.net/devitate/QjdUR/1/
À dos de Alireza réponse, voici un ES6 classe qui fait la même chose avec un peu plus de fonctionnalités, et de ne pas commencer tout de suite. Vous pouvez définir un nombre maximum de fois que le timer se déclenche automatiquement avant l'arrêt, et de mettre en pause et reprendre un certain nombre de fois avant que la prochaine fois qu'il est défini à feu éteint.