我试图在Javascript中制作一个普通的定时器,并开始用一些教程的帮助编写代码。定时器不启动运行
我做了与本教程中相同的方式,但我的计时器实际上并未开始运行,而我不知道为什么。
这里是我的代码:
var time = 0;
var running = 0;
function startPause() {
if(running == 0){
running = 1;
increment();
}
else{
running = 0;
}
}
function reset(){
running = 0;
time = 0;
document.getElementById("startPause").innerHTML = "Start";
}
function increment() {
if(running == 1){
setTimeout(function(){
time++;
var mins = Math.floor(time/10/60);
var secs = Math.floor(time/10);
var tenths = time % 10;
document.getElementById("output").innerHTML = mins + ":" + secs + ":" + tenths;
}, 100);
}
}
</script>
我也做了小提琴,你可以看看这里:https://jsfiddle.net/adamswebspace/5p1qgsz9/
什么是错我的代码?
你有3个功能,但无处你的样品中,你实际上调用它们。您在这里没有在您的示例中包含所有在小提琴中的代码,这对读者来说是令人困惑的。在你的小提琴中,有一个JS错误“startPause不是一个函数”,这只是因为你需要在调用它的代码之前包含该函数。在JSFiddle中,只需更改Javascript选项,以便loadType为“nowrap - in head”。 https://jsfiddle.net/5p1qgsz9/1/另一个问题是计时器只运行一次 - 我认为你需要setInterval而不是setTimeout。 – ADyson
我认为你需要的是setInterval而不是setTimeout。 setTimeout将只执行一次。 – user2427829
好吧,我试着在我的小提琴中尝试setTimeout为我的计时器。谢谢 – adamswebspace