Я використовую setInterval(fname, 10000);
для виклику функції кожні 10 секунд в JavaScript. Чи можна припинити її виклик при настанні якоїсь події?
Я хочу, щоб користувач мав можливість зупинити багаторазове оновлення даних.
setInterval()
повертає ідентифікатор інтервалу, який можна передати в clearInterval()
:
var refreshIntervalId = setInterval(fname, 10000);
/* later */
clearInterval(refreshIntervalId);
Дивіться документацію по setInterval()
і clearInterval()
.
Якщо ви встановили значення повернення setInterval
на змінну, ви можете використовувати clearInterval
для його зупинки.
var myTimer = setInterval(...);
clearInterval(myTimer);
Ви можете встановити нову змінну і збільшити її на ++ (збільшити на одиницю) кожного разу, коли вона виконується, тоді я використовую умовний оператор, щоб завершити її:
var intervalId = null;
var varCounter = 0;
var varName = function(){
if(varCounter <= 10) {
varCounter++;
/* your code goes here */
} else {
clearInterval(intervalId);
}
};
$(document).ready(function(){
intervalId = setInterval(varName, 10000);
});
Я сподіваюся, що це допоможе і це правильно.