gpt4 book ai didi

javascript - 如何在 javascript 中停止 window.setInterval?

转载 作者:IT王子 更新时间:2023-10-29 03:22:39 24 4
gpt4 key购买 nike

我有一个 javascript 函数,每 2000 毫秒调用一次。我想停止这个,这样我就可以让用户在页面上做其他事情而无需再次调用它。这可能吗?这是每 2000 毫秒调用一次的函数:

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);

最佳答案

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

首先,您需要捕获调用 setInterval 返回的 id:

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

然后当你想停止它的时候,调用

 window.clearInterval(intervalId);

在您的情况下,我建议单独定义 setScreen,而不是在对 setInterval 的调用中。这样,当您想要恢复它时,您只需使用 intervalId = window.setInterval(setScreen, 2000)

关于javascript - 如何在 javascript 中停止 window.setInterval?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7279567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com