当有人点击div本身时,我基本上想要时间停止倒计时。
所以我有以下代码
var count = 60;
jQuery("#watched_countdown").text(count);
var myTimer = setInterval(function(){
if(count > 0){
count = count - 1;
jQuery("#watched_countdown").text(count);
}
else {
clearInterval(myTimer);
update_entry_episode();
}
},1000);
此代码用于倒计时
然后我有这个显示倒计时的html标记
<a href="javascript:void(0)" onclick="cancel_countdown();">
<div id="watched_countdown"></div>
</a>
所以基本上如果有人点击链接,它应该暂停倒计时。所以我想当有人点击链接时我会运行另一个可能暂停倒计时的功能,因为当用户点击此链接时我不希望update_entry_episode()
功能运行。
所以在视觉上它应该暂停倒计时,而在后端它不应该运行update_entry_episode()
,只要count
没有达到零,就应该自动发生。
我的主要内容是,我应该在cancel_countdown()
中放置什么来阻止count
变量减少?
答案 0 :(得分:1)
<div id="watched_countdown"></div>
<a href="#cancel" id="cancel">cancel</a>
使用 clearInterval ();
var count = 60;
$("#watched_countdown").text(count);
var myTimer = setInterval(function(){
if(count > 0){
count = count - 1;
$("#watched_countdown").text(count);
}
else {
clearInterval(myTimer);
update_entry_episode();
}
},1000);
var cancelCount = function(){
clearInterval(myTimer);
myTimer = null;
};
$('body').on('click','#cancel',cancelCount);
答案 1 :(得分:0)
您需要使用clearInterval()来“暂停”计时器,然后使用完整的setInterval再次启动计时器。我建议将setInterval回调定义为命名函数,以便您可以在多个位置引用它。