如何在JavaScript中停止window.setInterval?

我有一个每2000毫秒调用一次的javascript函数。我想停止此操作,以便我可以让用户在页面上执行其他操作,而无需再次调用它。这可能吗?这是每2000ms调用一次的函数:

window.setInterval(function getScreen (sid) {

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

}

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("refresh").innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("POST","getScreen.php?sid="+<?php echo $sid; ?>,true);

xmlhttp.send();

},2000);

回答:

没有内置的“暂停”功能,但是您可以停止它,然后使用相同的功能开始一个新的间隔。

首先,您需要捕获调用所返回的ID setInterval

let intervalId = window.setInterval(...);

然后,当您要停止它时,请致电

 window.clearInterval(intervalId);

在您的情况下,建议您自己定义setScreen,而不是在的内部进行定义setInterval。这样,您可以intervalId =

window.setInterval(setScreen, 2000)在需要恢复时使用它。

以上是 如何在JavaScript中停止window.setInterval? 的全部内容, 来源链接: utcz.com/qa/408406.html

回到顶部