Не дать повторно запустится 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, время: 20:37. |