Не дать повторно запустится setInterval()
Есть функция, примерно такая:
function fun() {
setInterval(function() {...}, 1000);
}
Эта функция вызывается при клике на элемент из списка и с промежутком в одну секунду изменяет текст в другом элементе. При клике на другой элемент запускается вторая такая же функция и уже они обе изменяют значение в элементе. Собственно как можно завершит выполнение одного setInterval и запустить другой? PS: clearInterval пытался использовать, но или я рукожоп или не канает. |
Цитата:
Т.к. иначе setInterval() не остановить. :no: Сделай тестовый пример со своим вариантом обработки, так будет понятнее где ты ошибся. ;) |
<ul>
<li value="1">Возрастание</li>
<li value="-1">Убывание</li>
<li value="0">Стоп</li>
</ul>
<input type="text" id = "count" value = "1">
<script>
var loop,
variant = document.querySelectorAll("li");
for(var i = 0;i<variant.length;i++) {
variant[i].onclick = foo;
}
function foo() {
clearInterval(loop);
var step = +this.value;
loop = setInterval(function() {
count.value = (+count.value + step).toString();
}, 1000);
}
</script>
|
| Часовой пояс GMT +3, время: 08:26. |