jQuery倒计时器问题

时间:2014-02-06 07:41:15

标签: jquery html countdowntimer

当我点击按钮计时器时,我正在与计时器一起工作,从5秒开始,当它达到0时逐渐消失。我试过但无法得到,这是我尝试过的小提琴:http://jsfiddle.net/GNrUM/937/

<div id="hideMsg" style="display:none;">
This Box will Close In <span>5</span> Seconds..</div>
<input id="take" type="button"  value="click me" >

jQuery代码:

$("#take").live("click", function () {
    $('#hideMsg').show();
    var sec = $('#hideMsg span').text()
    var timer = setInterval(function () {
        $('#hideMsg span').text(--sec);
        if (sec == 0) {
            $('#hideMsg').fadeOut('fast');
            clearInterval(timer);
        }
    }, 1000);
});

当点击2次计数从0,-1,-2开始时,它首次点击效果很好。它没有清除间隔。有什么帮助吗?

3 个答案:

答案 0 :(得分:1)

一旦淡出,你必须重置值

 $('#hideMsg span').text(5);

JS小提琴演示demo

答案 1 :(得分:1)

尝试重新初始化$('#hideMsg span')。比如$('#hideMsg span').text('5');

http://jsfiddle.net/GNrUM/941

答案 2 :(得分:0)

试试这个:

 $("#take").live("click",function(){  
    $('#hideMsg').show();    
    var sec = $('#hideMsg span').text()
    var timer = setInterval(function() { 
       $('#hideMsg span').text(--sec);
       if (sec == 0) {
          $('#hideMsg').fadeOut('fast');
           $('#hideMsg span').text("5"); // reinitialize the span value
          clearInterval(timer);
       } 
    }, 1000);
    });