JavaScript clearInterval() — зупинити повторюваний виклик


Метод clearInterval() зупиняє повторюваний виклик, створений через setInterval().

автор: NagarD

Загальний опис

Без нього інтервал не зупиниться ніколи — доки жива вкладка. Тому ідентифікатор, повернений setInterval(), треба зберігати завжди, навіть якщо здається, що зупиняти не доведеться.

Найчастіша помилка — оголосити змінну з id усередині функції, яка створює інтервал: тоді дістатись до неї ззовні вже неможливо, і зупинити таймер нема чим.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
clearInterval 1+ 1+ 1+ 3+ 12+ 5+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
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();
});
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід