Javascript.RU

clearInterval

Синтаксис

clearInterval(intervalID)

Аргументы

intervalID
Идентификатор, возвращенный setInterval

Описание, примеры

При передаче некорректного intervalID не инициирует ошибку.


Автор: Ar2r (не зарегистрирован), дата: 16 марта, 2010 - 09:58
#permalink

Что возвращает функция? Как узнать остановила ли она выполнение или нет?


Автор: wra (не зарегистрирован), дата: 3 августа, 2010 - 15:05
#permalink

В данный момент достаю бубен, как последний аргумент к разбору полёта с этой функцией.


Автор: Гость (не зарегистрирован), дата: 25 августа, 2010 - 20:45
#permalink

clearInterval ничего не возвращает. Узнать можно только по результатам работы отрубаемой функции.


Автор: Гость (не зарегистрирован), дата: 16 февраля, 2011 - 16:19
#permalink

скажите а что такое intervalID? как его узнать?


Автор: Гость (не зарегистрирован), дата: 16 февраля, 2011 - 17:13
#permalink

Это идентификатор var intervalID = setInterval(func,delay);


Автор: Sawinru (не зарегистрирован), дата: 8 июля, 2011 - 10:37
#permalink

Функция setInterval() после своего выполнения возвращает ID, остановить функцию setInterval() можно только при помощи этого ID, а именно:

var intervalID;
var k=0;
$("#example").mousedown(function(){
intervalID = setInterval(function(){
k++;
alert(k);
}, 1000)
});

$("#example").mouseup(function(){
clearInterval(intervalID);
});


Автор: Гость (не зарегистрирован), дата: 22 октября, 2012 - 08:36
#permalink

Не работает твой пример


Автор: Гость (не зарегистрирован), дата: 12 августа, 2011 - 14:53
#permalink

А если intervalID не известен?
Можно как-то получить список всех выполняемых intervalID на странице?


Автор: Varvar (не зарегистрирован), дата: 24 августа, 2012 - 11:28
#permalink

Очень простой код:

var timerid;
function getText(textn, author) {
//некие действия
timerid = setInterval(printchar, 150);
}
function printchar() {
	if (i<sl) {
	//думаем работаем
	i++;
	} else {
		alert(timerid);
		clearInterval(timerId);
		alert("всё");
	}
}

Последний алерт показывает timerid, но clearInterval не срабатывает, говоря, что timerId is not defined в чём может быть проблема?


Автор: Гость (не зарегистрирован), дата: 31 августа, 2012 - 13:31
#permalink

javascript регистрозависим:
timerid
timerId


Автор: Гость (не зарегистрирован), дата: 23 сентября, 2012 - 13:12
#permalink

Может потому, что в var timerid; - "i", а в clearInterval(timerId); - "I"...?


Автор: любитель старины (не зарегистрирован), дата: 4 ноября, 2012 - 07:09
#permalink

простейший пример, который потрепал нервы и отнял чуть больше времени, чем планировалось.
;о)

<html>
<head>
<script><!--
var t;  // объявляем глобальную переменную, которая будет доступна
            // в любом месте при выполнении скриптов
function ch2(){  // некая функция, которая должна выполнятся по таймауту
   alert('129418724');
 }
function sh1(){  // запускаем выполнение функции с интервалом в 3 секунды
   t=setInterval(ch2,3000);
   // иногда бывает не лишним попробовать заключить названия функции в кавычки
  // не помню точно, но кажется какая-то категория старых браузеров глючила из-за этого
 }
function sh2(){  // останов, отчистка переменной
   clearInterval(t);
 }
//--></script>
</head>
<body>
 <button onClick="JavaScript:sh2()">stop</button>
 <button onClick="JavaScript:sh1()">start</button>
</body>
</html>

не забывайте объявлять глобальную переменную, которую собираетесь использовать для создания интервала - ЗА ПРЕДЕЛАМИ ФУНКЦИЙ!
(либо используйте clearInterval непосредственно в той же функции, в которой объявили этот интервал/переменную)


Автор: Гость (не зарегистрирован), дата: 6 февраля, 2013 - 16:12
#permalink

я чайник, только начинаю, но даже если полностью вписываю предложенные варианты - ни какой задержки не происходит... ни в хроме, ни в опере, ни в ie... в чем подвох?


Автор: weaknespase (не зарегистрирован), дата: 1 февраля, 2014 - 22:09
#permalink

Задержка, как и полагается, выражается в миллисекундах.


Автор: lails (не зарегистрирован), дата: 16 июля, 2013 - 07:36
#permalink
var intervalID = setInterval(function timerik()  {
....
		
}, 10);

setInterval(function(){
clearInterval(intervalID);
},2500)

как пример, работает функция с опред переодичностью,
и вырубаем её через время которое нам нужно.


Автор: Гость (не зарегистрирован), дата: 4 октября, 2016 - 15:00
#permalink

setTimeout вам в помощь

setInterval(function(){
clearInterval(intervalID);
},2500)

будет вызываться каждые 2.5 и пытаться очистить уже очищенный интервал. Правильнее надо

setTimeout(function(){
clearInterval(intervalID);
},2500)

setTimeout - отложенный единоразовый вызов функции через опредеденное время


Автор: Гость (не зарегистрирован), дата: 20 мая, 2015 - 16:27
#permalink

я так понял что интервал на странице всегда только один, для того что бы остановить все интервалы достаточно удалить предыдущий ID интервала. что то типа var id = setInterval(); clearInterval(id-1);


Автор: Гость (не зарегистрирован), дата: 4 октября, 2016 - 15:08
#permalink

Таймер ( то что Вы назвали интервалом ) не один, и даже не 100 - их намного больше. Можно попытаться остановить все таймеры вот таким кодом

var lastId = setInterval ( function() {}, 10000 );
  for ( var i = 1; i <= lastId; i++ ) {
     clearInterval ( i );
  }

Только правильным тоном будет сохранять ID таймеров и уничтожать их явным образом.


 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние темы на форуме
Forum