остановить таймер
В одном из методов запускаю таймер командой.
a1 = setTimeout(Change, tt * 500);При нажатии на кнопку запускается функция в которой этот таймер останавливается кодом clearTimeout(a1);Почему не работает? |
setTimeout выполняет код только один раз
http://javascript.ru/setTimeout |
Блин, просмотрел. Пытаюсь через флаг.
if (viiti == 1){
return;
}
viiti присваиваю 1, там где раньше был clearTimeout. Тоже что-то не очень. |
Vladimir93, может Вы имели ввиду setInterval?
|
У меня происходит рекурсия, поэттому сдесь setTimeout нужно
Change();
function Change() {
if (viiti == 1){
return ;
}
else {
var cc = CLR.shift();
CLR.push(cc);
var tt = TMR.shift();
TMR.push(tt);
d.style.backgroundColor = (cc.charAt(0) == 1) ? '#FF0000' : '';
d1.style.backgroundColor = (cc.charAt(1) == 1) ? '#FFFF00' : '';
d2.style.backgroundColor = (cc.charAt(2) == 1) ? '#00FF00' : '';
setTimeout(Change, tt * 500);
}
}
|
Change();
function Change() {
if (viiti == 1){
return ;
}
else {
var cc = CLR.shift();
CLR.push(cc);
var tt = TMR.shift();
TMR.push(tt);
d.style.backgroundColor = (cc.charAt(0) == 1) ? '#FF0000' : '';
d1.style.backgroundColor = (cc.charAt(1) == 1) ? '#FFFF00' : '';
d2.style.backgroundColor = (cc.charAt(2) == 1) ? '#00FF00' : '';
*!*a1 = */!* setTimeout(Change, tt * 500);
}
}
Кабэ очевидно. Таймаут то уже другой. |
| Часовой пояс GMT +3, время: 09:22. |