0

我是一名初级程序员,刚开始使用 JavaScript。我找到了一个看起来像这样的倒计时,

代码片段

var count=60 ;
var Time_counter=setInterval(timer, 1000) ;

function timer() {
    count=count-1;

    if(count <=1){
        clearInterval(Time_counter);
        alert("Game Over") ;
        return;
    }

    document.getElementById("timer").innerHTML=count; 
}

现在每当我运行这个程序时,这个计时器会立即运行而没有任何条件,即使我设置了条件也会发生。即使我将它保存在输入标记中的 onclick 属性中,它也会自行运行,如下所示:

<input id="Timer_button" type="button" value="Time starter" onclick="timer()">

但仍然是同样的问题。即使我不调用该函数,它也只是运行。

任何人都可以找出代码中的问题,这里有什么问题吗?答案将非常感激。需要的请指教。

4

2 回答 2

3

一种可能性:您可以创建一个函数来启动计时器:

var count = 60;
var Time_counter = null;

function startTimer() {
    Time_counter = setInterval(timer, 1000);
}

然后在点击时调用这个函数:

 […] onclick="startTimer();" […]
于 2013-09-05T19:53:01.687 回答
1

问题是 setInterval(timer,1000) 开始倒计时过程。您已将其全局声明,以便在加载脚本后立即执行。您必须将它放在一个函数中,并且只有在它尚未被调用时才调用它。

于 2013-09-05T19:58:52.140 回答