Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2017, 15:49
Новичок на форуме
Отправить личное сообщение для KoliK29 Посмотреть профиль Найти все сообщения от KoliK29
 
Регистрация: 21.01.2015
Сообщений: 5

Не дать повторно запустится setInterval()
Есть функция, примерно такая:
function fun() {
    setInterval(function() {...}, 1000);
}

Эта функция вызывается при клике на элемент из списка и с промежутком в одну секунду изменяет текст в другом элементе.
При клике на другой элемент запускается вторая такая же функция и уже они обе изменяют значение в элементе.
Собственно как можно завершит выполнение одного setInterval и запустить другой?
PS: clearInterval пытался использовать, но или я рукожоп или не канает.
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2017, 16:03
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от KoliK29
clearInterval пытался использовать, но или я рукожоп или не канает
Только он и поможет...
Т.к. иначе setInterval() не остановить.

Сделай тестовый пример со своим вариантом обработки, так будет понятнее где ты ошибся.
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2017, 18:20
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<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>

Последний раз редактировалось Dilettante_Pro, 21.09.2017 в 19:00.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не дать параллельно запустить setInterval ababagalamaga Events/DOM/Window 3 20.02.2016 00:39
Ускоряется setInterval Tord002 Общие вопросы Javascript 1 10.12.2015 23:09
Оптимизация JS WeMeSder Общие вопросы Javascript 0 13.06.2014 23:51
setInterval и глобальные переменные Почемучкин Events/DOM/Window 11 11.08.2012 14:44
Проблема в document.write при использовании setInterval() GOll Общие вопросы Javascript 21 06.10.2008 17:38