JavaScript clearInterval() — зупинити повторюваний виклик
Метод clearInterval() зупиняє повторюваний виклик, створений через setInterval().
Загальний опис
Без нього інтервал не зупиниться ніколи — доки жива вкладка. Тому ідентифікатор, повернений setInterval(), треба зберігати завжди, навіть якщо здається, що зупиняти не доведеться.
Найчастіша помилка — оголосити змінну з id усередині функції, яка створює інтервал: тоді дістатись до неї ззовні вже неможливо, і зупинити таймер нема чим.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| clearInterval | 1+ | 1+ | 1+ | 3+ | 12+ | 5+ |
| Переглядач | ||||
|---|---|---|---|---|
| clearInterval | yes | yes | yes | yes |
Приклади
+ запропонувати свій приклад у пісочниці
Таймер, який чесно зупиняється й прибирає за собою.
let id = null;
function start() {
if (id !== null) {
return; // уже йде
}
id = setInterval(tick, 1000);
}
function stop() {
clearInterval(id);
id = null;
}
// коли сторінка ховається — зупиняємо, щоб не палити батарею
document.addEventListener('visibilitychange', () => {
document.hidden ? stop() : start();
});
Коментарі
Коментарів ще немає — будьте першим!