Button 按下按钮时倒计时
所以我创建了一个倒计时,当人们点击按钮时开始计时。倒计时计时器工作正常,但我遇到了两个问题:Button 按下按钮时倒计时,button,timer,click,Button,Timer,Click,所以我创建了一个倒计时,当人们点击按钮时开始计时。倒计时计时器工作正常,但我遇到了两个问题: 如果有人第二次点击按钮,计时器就会加速 如果一个人在计时器结束后单击按钮,它将开始显示负数 我仍在学习Java,无法理解这一点 <button style=" background:#f1b005; margin-bottom: 25px; border:0px; color: White; text-align: center; text-decoration: none; disp
<button
style="
background:#f1b005;
margin-bottom: 25px;
border:0px;
color: White;
text-align: center;
text-decoration: none;
display: inline-block;
height:50px;
width:125px;
border-radius: 5px;
align:center;
cursor: pointer;"
onclick="onTimer()">
120 Sec Rest
</button>
<div
style="60px;
font-size:30px;
text-align:center;
color:#f1b005;"
id="mycounter">
</div>
<script>
i = 120;
function onTimer() {
document.getElementById('mycounter').innerHTML = i;
i--;
if (i < 0) {
alert('Times Up! Lets Get It!');
clearInerval(i);
}
else {
setTimeout(onTimer, 1000);
}
}
</script>
120秒休息
i=120;
函数onTimer(){
document.getElementById('mycounter')。innerHTML=i;
我--;
if(i<0){
警惕(‘时间到了!我们开始吧!’);
clearInerval(i);
}
否则{
设置超时(onTimer,1000);
}
}
您有多处错误。
您编写了clearinVal(i)
而不是clearInterval(i)
。
您将i
的定义放在函数外部-因此它被设置一次,每次单击它时,它都执行函数,但不会重置i
它的速度会降低,因为您正在执行i--
,这会使i
的值降低一倍
主要问题是在函数外部设置了i
。
试试这个:
<script>
function onTimer() {
i = 120;
document.getElementById('mycounter').innerHTML = i;
i--;
if (i < 0) {
alert('Times Up! Lets Get It!');
clearInterval(i);
}
else {
setTimeout(onTimer, 1000);
}
}
</script>
函数onTimer(){
i=120;
document.getElementById('mycounter')。innerHTML=i;
我--;
if(i<0){
警惕(‘时间到了!我们开始吧!’);
间隔时间(i);
}
否则{
设置超时(onTimer,1000);
}
}
请看下面一个更好的代码示例,只需将
i++
更改为i--
,使其倒计时,而不是本例中的倒计时:谢谢。仍然在学习,这帮助了很多。我明白我的错误。我想,因为我看了这么久,我没有看到错误,对它的发生感到沮丧。这就是我们学习的方式!调试是编码中最困难和最耗时的部分:考虑使用类似于IDE的VSCODE,它将帮助您修复仍然难以捕捉到的最明显的错误。