#javascript #jquery
Есть такой скрипт function timer() { var seconds = 5; var seconds_timer_id = setInterval(function() { if (seconds > 0) { seconds --; if (seconds < 10) { seconds = "0" + seconds; } $(".videotime").text(seconds); } else { clearInterval(seconds_timer_id); $("#allcount").val((+$("#allcount").val() + 1)); } }, 1000); } Который я запускаю так Старт Когда скрипт запускается первый раз то он увеличивает значение в поле input на единицу, а когда я питаюсь запустить его второй раз ничего не преисходит. Вернее тймер идет но увеличения нет. Форма в которой должно увеличеватся число function timer() { var seconds = 5; var seconds_timer_id = setInterval(function() { if (seconds > 0) { seconds --; if (seconds < 10) { seconds = "0" + seconds; } $(".videotime").text(seconds); } else { clearInterval(seconds_timer_id); $("#allcount").val((+$("#allcount").val() + 1)); } }, 1000); }Смотреть видео0
Смотреть видео
Смотреть видео
Смотреть видео
Смотреть видео
Смотреть видео
Ответы
Смотреть видеоОтвет 1
Добрый день, переписал твой код. http://codepen.io/anon/pen/MbgxzL?editors=1111 Сделал 2 разных таймера, когда первый заканчивает свою работу, мы его удаляем с помощью clearInterbal и запускаем новый, который уже увеличивает значение инпута каждый раз на 10
$(document).on('ready', function(){ var secAdvt = 6; var timeStart = 0; function timer(obj) { timeStart++; $("input[name=counttest]").val(timeStart); } function countdown(obj){ secAdvt--; if(secAdvt == 0){ clearInterval(startCountDown); startVideo = setInterval(function(){ timer(); }, 1000); } $(".videotime").text(secAdvt); } $(".seeVideo").on('click', function(){ $(".videotime").text(); startCountDown = setInterval(function(){ countdown(); }, 1000); }); });
Комментариев нет:
Отправить комментарий