如何在JavaScript中停止window.setInterval?

我有一个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);


慕容708150
浏览 2591回答 3
3回答

慕田峪7331174

没有内置的“暂停”功能,但是您可以停止它,然后使用相同的功能开始一个新的间隔。首先,您需要捕获调用所返回的ID setInterval:let intervalId = window.setInterval(...);然后,当您想要停止它时,请致电&nbsp;window.clearInterval(intervalId);在您的情况下,建议您自己定义setScreen,而不是在的内部进行定义setInterval。这样,您就可以intervalId = window.setInterval(setScreen, 2000)在要恢复时使用。
打开App,查看更多内容
随时随地看视频慕课网APP