Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Таймер JQuery (https://javascript.ru/forum/jquery/55610-tajjmer-jquery.html)

Babyslam 06.05.2015 18:30

Таймер JQuery
 
День добрый,не нашел похожей темы.
Не работает таймер при добавлении в него кнопки остановки.
Таймер должен обновляться,пока кнопка не будет нажата.
<div>Осталось: <span id="timer_inp">5</span> сек.</div>
<input type="button" value="Прекратить Отсчет!" class="next" />
<script>
$( document ).ready(function() {
function timer()
{
var obj=document.getElementById('timer_inp');
obj.innerHTML--;
 
    if (obj.innerHTML==0){
        timer_inp.innerHTML=5;
        setTimeout(timer,1000);
    } else {
        setTimeout(timer,1000);
    }
}
setTimeout(timer,1000);
//при удалении этой функции таймер работает,кнопка нужна для остановки таймера. 
$('.next').click(function() {
var = t;
t = setTimeout(timer(),1000);
clearTimeout(t);
                });
});

tsigel 06.05.2015 18:34

Babyslam,
Рекомендую открыть учебник и почитать про setTimeout ещё раз, и надо смотреть на функцию timer

Babyslam 07.05.2015 16:25

Таймер с остановкой,может кому-нибудь пригодиться.
<div>Осталось: <span id="timer_inp">5</span> сек.</div>
<input class="stop" type="button" value="Прекратить Отсчет!"  />
<script>var MyTimer; 
var Tstop = $('.stop');
var stopTimer;

//Запуск таймера
$(document).ready(function() { 
MyTimer = setTimeout(timer,1000);
stopTimer = setTimeout(stopTimer, 1000);   
});
//функция таймера
function timer()
{
var obj=document.getElementById('timer_inp');
obj.innerHTML--;
    if (obj.innerHTML==0){
        timer_inp.innerHTML=5;
    } 
 MyTimer = setTimeout(timer,1000);
}
//стоп таймер
Tstop.click(function stopTimer(){
 clearTimeout(MyTimer); 
});
</script>


Часовой пояс GMT +3, время: 20:36.