|
|
|||||
Регистрация: Apr 2001
Адрес: San Pietroburgo
Сообщений: 1,408
|
setInterval(). есть вопросы.
итак. начнем из далека.
используецца setInterval() в различных частях мувика. причем в такой форме: вопрос: можно ли как-то получить все интервалы? в виде массива или ещё как? чтобы, например, всех их обнулить (удалить). разом. без сомнений и без колебаний
__________________
I denti non possono dire niente... senza la lingua... Perche' la tua lingua e' mia! |
|
|||||
а ты их называй какнить intrval1, interval2 и т.д. и потом циклом их очисть...
__________________
Координаты Собаки Павлова: URL - www.dogpaul.org.ru E-mail - dogpaul@yandex.ru ICQ - 209674862 |
|
|||||
Сходу могу предложить только вариант с массивом, куда заносить все эти интервалы. Собственно, то же, что и сказал DOG-Paul.
А что, этих интервалов так много?
__________________
За двумя зайцами погонишься - от егеря по морде получишь |
|
|||||
Регистрация: Apr 2001
Адрес: San Pietroburgo
Сообщений: 1,408
|
да неееее. как надо было сделать - эт понятно.
теперь хочецца малой кровью ошибки молодости исправить думал, может как-нибудь через прототип. да вот не доезжаю никак. будем ждать кого поумней
__________________
I denti non possono dire niente... senza la lingua... Perche' la tua lingua e' mia! |
|
|||||
как-нибудь через прототип? это ты что имел в виду?
|
|
|||||
Регистрация: Apr 2001
Адрес: San Pietroburgo
Сообщений: 1,408
|
Цитата:
вот и думаю, а вдруг можно обратицца к прототипу setInterval()? яч бы тогда добавил к нему функцию globalDelete() и попробовал бы как-нибудь прикрутить.
__________________
I denti non possono dire niente... senza la lingua... Perche' la tua lingua e' mia! |
|
|||||
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Есть такая фишка -
централизация кода.... В таком разе всё достаточно просто /если в руте нет числовых переменных или сделать пустой мув из которого вызывать sI.../ Последний раз редактировалось iNils; 27.12.2010 в 19:14. |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Придумал. Сыровато, и есть что еще добавить полного использования, но суть сама понятна.
Основной код: /* Переписываем фунцкию setInterval */ _global.setInterval = function () { if (!_global.setInterval.interval) { _global.setInterval.interval = new Array (); _global.clearIntervalAll = function () { for (arg in _global.setInterval.interval) { clearInterval (_global.setInterval.interval[arg]); } }; } _global.setInterval.interval[_global.setInterval.interval.length] = ASnative (250, 0).apply (_global, arguments); }; Вызывая clearIntervalAll (), мы останавливаем все запущенные setInterval. Последний раз редактировалось iNils; 27.12.2010 в 19:13. |
|
|||||
Вот тоже вариант, заносим все интервалы в пустой массив, потом в нужный момент всё разом очищаем:
var intervals_array = []; intervals_array.push(id2=setInterval(function () { trace("interval№1"); }, 30)); intervals_array.push(id=setInterval(function () { trace("interval№2"); }, 30)); intervals_array.push(id3=setInterval(function () { trace("interval№3"); }, 30)); //стираем все интервалы через 5 сек. id_check = setInterval(function () { for (i=0; i<intervals_array.length; i++) { clearInterval(intervals_array[i]); } }, 5000); |
|
|||||
к идее iNils:
вроде бы ничего не мешает обойтись только счетчиком |
Часовой пояс GMT +4, время: 09:43. |
|
« Предыдущая тема | Следующая тема » |
|
|