使用setInterval暂停和播放Jquery计时器

时间:2015-05-14 15:31:37

标签: javascript jquery timer

我有一个使用jquery setInterval运行的计时器和一个在播放和暂停之间切换的按钮。当用户点击播放/暂停按钮时,我需要计时器暂停和/或继续运行。此外,出于某种原因,秒数来自" 59"到" 01"。它正在跳过" 00"。我不确定为什么。谢谢你的帮助!

HTML:

<div id="clock">0:00</div>

<div id="audioBtn">
   <div class="btn play"></div>
   <div class="btn pause"></div>
</div>

JQuery的

var output = $('#clock');
var isPaused = false;
var min = 0;
var sec = 0;
var t = window.setInterval(function() {
    if(!isPaused) {
        sec++;
        if (sec < 10) {
            output.html(min + ":0" + sec);
        } else {
            output.html(min + ":" + sec);
        }
        if (sec === 59) {
            sec = 0;
            min++;
        }
    }
}, 1000);

if ($('.btn').hasClass('pause')) {
    $('#audioBtn').on('click', function(e) {
        e.preventDefault();
        console.log("should pause");
        isPaused = true;
    });
};

if ($('.btn').hasClass('play')) {
    $('#audioBtn').on('click', function(e) {
        e.preventDefault();
        console.log("should play");
        isPaused = false;
    });
};

1 个答案:

答案 0 :(得分:1)

将其更改为
        if (sec == 59) { sec = -1; min++; }