не дать параллельно запустить setInterval
добрый день,
прошу помочь поставить маркер для блокирования повторного запуска setInterval. При первом нажатии на старт таймер работает корректно, при повторном - запускает параллельный отсчет, сбивается и ускоряется. Код приведен ниже. Спасибо! document.getElementById('start').onclick = function() { var i = 30; var time; var time_on = false; function reduce_time() { document.getElementById('timer').innerHTML = '00:' + i--; if(i < 0) { clearInterval(time); alert('end of time!!'); time_on = false; } } if(!time_on) { time = setInterval(reduce_time, 100); time_on = true; } } |
ababagalamaga, переменную time_on сделай глобальной.
|
Рекурсивный setTimeout будет в помощь
|
сделал глобальной
var time_on = false; работает Спасибо!!!:) |
Часовой пояс GMT +3, время: 20:42. |