【发布时间】:2015-06-02 11:39:42
【问题描述】:
var count=6
var counter=setInterval(timer, 1000);
function timer(){
count=count-1;
if (count === 0){
requestAnimationFrame(repeat);
clearInterval(counter);
return;
}
var countdown = createEntity($('<div id="countd"><p id="countp"></p></div>'));
game.add(countdown);
document.getElementById("countp").innerHTML=count;
}
这是我的倒计时方法。我正在编写游戏。首先它显示一个倒计时......但为什么它停留在“1”?如果我正在播放,它仍然会在显示屏上保持“1”。
我的想法是,clearInterval(Counter),但它不起作用。还有其他方法吗?
【问题讨论】:
-
首先减少变量,然后测试它是否为零。如果为零,则从循环中返回。如果它不为零,则更新 div 标签。换句话说:如果计数器为零,则不会更新 div-tag。
-
@some 发布该评论作为答案似乎是个好主意。
-
旁注:“count = count - 1;”可以缩短为更易读的:“count--;”此外,如果转换为 FOR 循环,代码可能更容易理解。
-
count = 0时如何删除?
if (count === 0) {$('#coundid').remove();}
标签: javascript timer counter setinterval countdown