为了账号安全,请及时绑定邮箱和手机立即绑定

如何在JavaScript中停止window.setInterval?

如何在JavaScript中停止window.setInterval?

慕容708150 2019-10-21 09:50:58
我有一个JavaScript函数,每2000ms调用一次。我想停止此操作,以便我可以让用户在页面上执行其他操作,而无需再次调用它。这可能吗?这是每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);
查看完整描述

3 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

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


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


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

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


 window.clearInterval(intervalId);

在您的情况下,建议您自己定义setScreen,而不是在的内部进行定义setInterval。这样,您就可以intervalId = window.setInterval(setScreen, 2000)在要恢复时使用。


查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 2590 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信