我希望仅在单击按钮时调用alertMe函数,但是它会被调用(调用setInterval调用它),就像页面加载一样。但是如果我把pageLoad函数拿走了,那么startButton就是null而且我无法用它做任何事情。谢谢你,伙计们!
/when user clicks start, start the animation
window.onload = pageLoad;
function pageLoad() {
var startButton = document.getElementById("start");
startButton.onclick = setInterval(alertMe,200);
}
function alertMe() {
alert("hi");
}
答案 0 :(得分:6)
function pageLoad() {
var startButton = document.getElementById("start");
startButton.onclick = alertMe;
}
function alertMe() {
setInterval(function(){
alert("hi");
},200);
}
在alertMe
函数中移动您的时间间隔,并将其作为对startButton.onclick
答案 1 :(得分:3)
基本上你需要这样做:
startButton.onclick = function() {
interval = setInterval(alertMe, 200);
}
它的作用是发送对alertMe
函数
另一种方式是:
startButton.onclick = function() {
interval = setInterval(function(){
alertMe();
}, 200);
}
将发送一个匿名函数的引用,该函数将调用alertMe
函数