我有一个使用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;
});
};
答案 0 :(得分:1)
将其更改为
if (sec == 59) {
sec = -1;
min++;
}