我正试图制作一个闲置的游戏而不是 candy box。我会在页面的一侧有一个数字,每秒上升一个。但是,下面显示的代码似乎不起作用。谁能告诉我它为什么不起作用;如何解决它以及从哪里获取信息。提前谢谢。
<script type="text/javascript">
var i = 0;
function increment(){
i++;
document.getElementById('money').innerHTML = i;
}
setInterval(increment(), 1000);
</script>
<h2><u>The best game of the century</u></h2>
<p>you have £<span id="money"></span>.</p>
</body>
</html>
答案 0 :(得分:4)
您有两个问题:
money
的元素。setInterval
来电中,您只需要没有括号的函数名称(increment
)。包括括号(如increment()
)仅在该特定时刻调用函数,而不是引用它以在每个间隔调用。 (有关详细信息,请参阅the Microsoft page on setInterval
。)请参阅此代码:
<h2><u>The best game of the century</u></h2>
<p>you have £<span id="money"></span>.</p>
<script type="text/javascript">
var i = 0;
function increment() {
i++;
document.getElementById('money').innerHTML = i;
}
setInterval(increment, 1000);
</script>
答案 1 :(得分:3)
将setInterval(increment(), 1000);
更改为setInterval(increment, 1000);
它不起作用,因为根据文件https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval 它需要一个函数引用来执行..但是像这样调用函数increment()只执行一次,并且将使用该函数的返回值,该函数将为null并且不希望这样清除它
var i = 0;
function increment(){
//console.log(i);
i++;
document.getElementById('money').innerHTML = i;
}
setInterval(increment, 1000);
&#13;
<h2><u>The best game of the century</u></h2>
<p>you have £<span id="money"></span>.</p>
&#13;