如何在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