0

我有一个页面,该页面有一个标签<body onload="setInterval('window.location.reload()', 60000);">,该标签会导致页面每 1 分钟刷新一次。

我想制作一个按钮( PAUSE ),单击该按钮会取消刷新。

我尝试了以下方法,但它不起作用:

window.onload= function () {};

4

4 回答 4

3

使用clearInterval()

在您的脚本中:

var pid=false;
function clear()
{
   clearInterval(pid);
   pid=false;
}
function resume()
{
   if(!pid)
     pid=setInterval('window.location.reload()', 60000); 
}

在身体里

<body onload="pid=setInterval('window.location.reload()', 60000);">....
<button onclick="clear()">Pause</button>
<button onclick="resume()">Resume</button>....
于 2012-06-09T07:00:36.873 回答
1

你可以clearInterval()这样打电话

id = setInterval('func', time);
<button onlcick="clearInterval(id)">Pause</button>

clearInterval()window是清除你的对象中的一个方法setInterval()

这是一个包含更多信息的链接

于 2012-06-09T06:53:00.853 回答
1

最好将脚本放在一个函数中,以便您也可以从其他地方调用它。

像这样...

<html>
<head>
    <script type="text/javascript">
        var intervalRef;   
        function ResumeRefresh(interval){
            intervalRef = setInterval('window.location.reload()', interval);
        }
        function StopRefresh(){
            intervalRef=window.clearInterval(intervalRef);
        }
    </script>
</head>
<body onload="ResumeRefresh(60000);">
    <input type="button" val="Stop Refreshing" onclick="StopRefresh();"></input>
</body>
于 2012-06-09T07:02:10.770 回答
1

你将需要这样的东西:

<script>
var reloadInterval;
var run = true;
function setMyInterval()
{
   reloadInterval = setInterval('window.location.reload()', 60000);
}
function Pause()
{
   if(run)
   {
      clearInterval(reloadInterval);
   }
   else 
   {
      reloadInterval = setInterval('window.location.reload()', 60000);
   }
}
</script>

html:

<body onload = 'setMyInterval()'>
<button onlcick="Pause()">Pause / Play</button>
于 2012-06-09T07:03:59.403 回答