Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как очищать все возможные интервалы созданные setInterval (https://javascript.ru/forum/misc/78218-kak-ochishhat-vse-vozmozhnye-intervaly-sozdannye-setinterval.html)

maiskiykot 12.08.2019 22:45

Да все вроде на виду. Я даже находил где-то решение, но случайно стер все свои файлы при переустановке винды. Просто в JS не силен и бывает, что сам не могу допереть.

Aetae 13.08.2019 01:17

Убрать все - так:
for(var i = setInterval(''); i >= 0; i--)
  clearInterval(i);

Но это заметание мусора под ковёр. Если у вас что-то не работает или где-то назначаются лишние интервалы - надо открывать отладчик и дебажить.

ksa 13.08.2019 08:20

Цитата:

Сообщение от maiskiykot
Вот весь код

У меня в Опере все работает.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var isOldTitle = true; 
var oldTitle = "Old"; 
var newTitle = "New"; 
var interval = null;
interval = setInterval(changeTitle, 1000); 
window.onfocus = function() { 
	//alert('Ok');
	clearInterval(interval);
	document.title = oldTitle;
};
function changeTitle() { 
	document.title = isOldTitle ? oldTitle : newTitle; 
	isOldTitle = !isOldTitle;                        
};
</script>
</head>
<body>
</body>
</html>

Весь вопрос только в window.onfocus... Это событие кагбэ капризное. :D
https://learn.javascript.ru/window-focus
Может ты ждешь его, а оно не наступает. :-?
В моем примере это можно проверить раскоментировав всего одну строку с алертом. ;)


Часовой пояс GMT +3, время: 20:17.