我希望在h = 0时清除interverl; m = 0; s = 0;
怎么做......这总是循环......
查看代码
var h = 10;
var m = 11;
var s = 12;
function countdown() {
h--;
m--;
s--;
var t = h + ":" + m + ":" + s;
document.getElementById("show").innerHTML = t;
if (h == 0 && m == 0 && s == 0) {
clearInterval(timer);
}
}
var timer = setInterval('countdown()',1000);
countdown();
答案 0 :(得分:3)
答案 1 :(得分:2)
h
,m
和s
在不同点达到0,因此它们不会同时等于零。
您需要通过执行以下操作来防止它们降低到低于0
if (h) h--;
if (m) m--;
if (s) s--;
答案 2 :(得分:1)
h
,m
,s
不会同时0
,因此h == 0 && m == 0 && s == 0
永远不会是true
。< / p>
这就是你的循环永不停止的原因。
答案 3 :(得分:1)
这是因为您的h
,m和s
值不会同时等于零。
答案 4 :(得分:0)
h,m ans s同时不为0.
所以你必须检查它们是否等于或小于0.改变你的if子句:
if(h <= 0 && m <= 0 && s <= 0){
clearInterval(timer);
}
更新
我错过了,你想在屏幕上显示数字...
那么你应该只是减少变量,如果它们大于0
if(h>0) h--;
if(m>0) m--;
if(s>0) s--;