JavaScript实现定时器暂停与继续的方法

作者:闭包旅人

时间:2026-10-30

浏览:256

JavaScript原生定时器缺乏直接的暂停功能,但可通过清除定时器并重新创建的方式模拟。本文介绍利用clearInterval停止计时,并在延迟后通过重新调用setInterval恢复计时的实现方案,适用于需要临时中断并恢复定时任务的场景。

文章目录

JavaScript实现定时器暂停与继续的方法

JavaScript中的定时器机制并不提供原生的暂停与恢复接口,仅支持通过清除操作来停止计时。然而,开发者可以利用这一特性,结合其他手段模拟出暂停与继续的效果。


allChild[index].onclick = function(){//当点击目标且满足下面的条件时 让计时器时间暂停
if(gamInt == true){
$("#tu").css("display","block");
//计时器暂停(清除定时器)
clearInterval(countdownTimer);
//延迟2s后游戏继续 计时器暂停结束
setTimeout(function(){
// 移除所有的图片
removeImgFun();
$("#tu").css("display","none");
imgNum++;
if(imgNum >= 10){
imgNum = 10;
}
createImgFun();
//定时器继续接之前的时间增加 继续播放(将之前的定时器重新引用一次 包括定时器的名字(必须要有 不然容易引起电脑死机)完整引入)
countdownTimer = setInterval(function (){
countdownNum -= 0.01;
//保留两位小数
countdownNum = countdownNum.toFixed(2);
if (countdownNum <= 0){
clearInterval(countdownTimer);
//游戏结束
alert("游戏结束!");
//房祖名不能再点击(分数不再计数)
gamInt = false;
}
time.innerHTML = "倒计时:" + countdownNum + "秒";
},10);
},2000)
//计分
scores += 1;
score.innerHTML = "第" + scores + "关";
if(scores > 8){
$("#wc").css("display","block");
$("#haha").css("display","none");
$("#cj").on("click",award());
$("#sm").on("click",explain());
}
}
}

上述内容介绍了在JavaScript中实现定时器暂停与继续的具体方法,希望能为读者提供有价值的参考。若在使用过程中遇到任何问题,欢迎留言交流,小编将尽快回复。同时,感谢大家对本站的支持与关注!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章