Статьи

Как очистить setInterval (), не зная идентификатора

проблема
Объявление setInterval () без сохранения ссылки на него (которое возвращается из вызова функции setInterval (), возвращает номер идентификатора для зарегистрированного события).

Вот так:

var interval = setInterval(function() {
    console.log('i');
}, 1000);
console.log(interval);

Если вы видите, он назначает случайное число в качестве идентификатора для события. Затем, когда мы очищаем интервал, он использует этот идентификатор.

Просто позвонив по телефону:

 clearInterval(interval);

Грязное решение
Теперь это не очень хорошая практика кодирования (по ряду причин), но если вам действительно нужно очистить этот интервал, мы можем просто сделать цикл, чтобы найти идентификатор события, чтобы остановить все запущенные события setInterval (). Я сделал быстрый jsfiddle, чтобы показать вам. https://jsfiddle.net/WqCws/ .

 for(i=0; i<100; i++)
{
    window.clearInterval(i);
}

Я уверен, что это также будет работать для setTimeout () и clearTimeout ();