jQuery用计时器计数

时间:2011-08-03 15:26:41

标签: javascript jquery

这个功能只是当点击btnGo计时器停止并获得它的值时,如果剩余时间不超过它自动添加+1到开启时间总计我的问题是它没有添加它只显示下面的值是我的代码与现场演示

我的JS

var sec = $('#timerSec').text() || 0;
var timer;

function startTimer() {
    if (timer) clearInterval(timer);
    sec = 10;
    timer = setInterval(function() {
        $('#timerSec').text(sec--);
        if (sec == 0) {
            clearInterval(timer);
        }
    }, 1000);
}
$(function() {
startTimer();

$('#btnGo').click(function(){
    $(this).fadeOut();
    $("#alert").fadeIn();
    clearInterval(timer);
    var secR = $('#timerSec').text();
    var t = $('#alert span').text()
    $('#btnCon').fadeIn();
    if (secR != 0 ){
    var i = t+1;
    }
    $('#alert span').html(i).show();
});
$('#btnCon').click(function(){
   $("#alert").fadeOut();
    $("#btnGo").fadeIn();
    startTimer();
});


});

我的HTML

<div id="timerSec">10</div> seconds

<a href="#" id="btnGo">Go</a>
<div id="alert" style="display:none">
<a href="#" id="btnCon" >Continue</a>
 On time = <span>0</span>
</div>

Live Demo jsfiddle

1 个答案:

答案 0 :(得分:1)

我不确定它是否正常运行,但无论如何,添加的问题在于它将span的文本值视为字符串(它是)。所以当你向它“添加”1时,它实际上只是连接。您可以使用Number()来解决此问题。请参阅this updated code