【发布时间】:2023-04-11 06:19:01
【问题描述】:
这个想法是用分钟和秒做一个简单的 js 倒计时,在 html 文档中显示数字,一个按钮开始/继续,另一个按钮停止/暂停。我在暂停时间时卡住了几秒钟......“开始”按钮有效,但我似乎无法弄清楚为什么“停止”不起作用。我已经阅读了多个尝试修复的类似问题,但结果仍然相同。有什么想法吗?
非常感谢!
var min = 5;
var sec = 60;
var secoutput;
document.getElementById("min").innerHTML = min;
if (sec >= 60)
{document.getElementById("sec").innerHTML = "00";}
else
{document.getElementById("sec").innerHTML = secoutput; }
function start(){
var secoutput = setInterval(function(){
sec-=1;
document.getElementById("sec").textContent = sec;
if(sec <= 0)
clearInterval (secoutput);
},1000);
}
function stop(){
clearInterval (secoutput);
}
<button onclick="start()">Start</button>
<button onclick="stop()">Stop</button>
<p id="min"></p>
<p id="sec"></p>
【问题讨论】:
-
您在
start()函数中重新声明secoutput。将var放在那里。 -
您在
start内部使用var secoutput,因此您在start方法内部重新定义了secoutputvar 范围。全局secoutput从未分配任何内容
标签: javascript timer setinterval countdown clearinterval