我有一个setTimeout函数,如何使用cleartimeout函数来停止这个循环

问题描述 投票:0回答:2

我有一个setTimeout函数,如下所示。

setTimeout(function(){gameEngine(radioValue,height,width,gameLevel)}, 1500);

我使用了以下clearTimeout格式,但这不起作用。这有什么不对?

clearTimeout(gameEngine(radioValue,height,width,gameLevel));
jquery settimeout cleartimeout
2个回答
0
投票

setTimeout函数返回一个ID,您可以将其传递给clearTimeout函数以停止计时器。

let gameTimer = setTimeout(function(){...}, 1500);

现在,只要您想要停止计时器,请调用clearTimeOut方法并将其传递给您的计时器ID。

clearTimeout(gameTimer);

0
投票

您需要将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);
© www.soinside.com 2019 - 2024. All rights reserved.