我有一个setTimeout函数,如下所示。
setTimeout(function(){gameEngine(radioValue,height,width,gameLevel)}, 1500);
我使用了以下clearTimeout格式,但这不起作用。这有什么不对?
clearTimeout(gameEngine(radioValue,height,width,gameLevel));
setTimeout
函数返回一个ID,您可以将其传递给clearTimeout
函数以停止计时器。
let gameTimer = setTimeout(function(){...}, 1500);
现在,只要您想要停止计时器,请调用clearTimeOut
方法并将其传递给您的计时器ID。
clearTimeout(gameTimer);
您需要将setTimeOut
函数存储在变量中(例如x)当您想要cleartimeout
时,您调用的是参数x。例如:
var timeoutID;
function delayedAlert() {
timeoutID = window.setTimeout(slowAlert, 10000);
}
function slowAlert() {
alert("That was really slow!");
}
function clearAlert() {
window.clearTimeout(timeoutID);
}
<p>Live Example</p>
<button onclick="delayedAlert();">Show an alert box after 10 seconds</button>
<p></p>
<button onclick="clearAlert();">Cancel alert before it happens</button>
在你的情况下:
var x=setTimeout(function(){gameEngine(radioValue,height,width,gameLevel)}, 1500);
clearTimeout(x);