остановить таймер
В одном из методов запускаю таймер командой.
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, время: 07:03. |