【发布时间】:2016-05-28 01:42:43
【问题描述】:
我想知道为什么这段代码不起作用。当我将它放在 onload 函数中时,它不起作用,我不知道为什么。我在 onload 函数中有很多其他代码,但我已经为这个例子删除了它。无论如何,其他代码都可以正常工作,只有这部分不行。
window.onload = function() {
var i, timer, divide;
i = 0;
divide = 100;
function start() {
timer = self.setInterval("increment()", (1000 / divide));
}
function increment() {
i++;
document.getElementById("timer_out").innerHTML = (i / divide);
}
function stop() {
clearInterval(timer);
timer = null;
}
function reset() {
stop();
i = 0;
document.getElementById("timer_out").innerHTML = (i / divide);
}
}
<div>
<span id="timer_out">0</span>
</br>
<input type="button" value="Start" onclick="start()"/>
<input type="button" value="Stop" onclick="stop()"/>
<input type="button" value="Reset" onclick="reset()"/>
</div>
【问题讨论】:
-
您检查过您的控制台吗? (按 F12 打开它)。你的答案就在那里。基本上,您的函数需要是全局的才能在您的
onclick处理程序中访问它们。更好的方法是使用.addEventListener。 -
@MikeC 我对此感到困惑,你是什么意思?
-
基本上@MikeC 想说的是,您的每个按钮的
onclick事件都无法调用其函数,因为您将它们的函数包装在onload事件中。问题是,您的按钮在其功能声明之前加载。
标签: javascript jquery css