每次按下按钮时,我都要加5秒。

更新时间后,该功能会递减新值,但也会递减旧值。

有人可以解释我为什么吗?

http://jsfiddle.net/xqdj3uz8/1/

$('button').on('click', function() {
    var newtime = parseInt(seconds + 5);
    timer(newtime);
});

最佳答案

您可以尝试使用全局变量来跟踪剩余的秒数。单击按钮将增加此变量。

var timeLeft = 10;

function timer() {
    var i = setInterval(function () {
        $('span').text(timeLeft);
        timeLeft--
        if (timeLeft === 0) clearInterval(i)
    }, 1000)
}

function addSeconds(n) {
    timeLeft += n
}

timer()

$('button').on('click', function () {
    addSeconds(5)
});


演示(1):http://jsfiddle.net/xqdj3uz8/21/

关于javascript - setInterval countDown更新时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28691960/

10-09 22:39