Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每秒钟/分钟刷新页面的按钮等?_Javascript_Jquery - Fatal编程技术网

Javascript 每秒钟/分钟刷新页面的按钮等?

Javascript 每秒钟/分钟刷新页面的按钮等?,javascript,jquery,Javascript,Jquery,我想要一个按钮,当点击将刷新指定的时间后,当前页面 我目前有: <script type="text/javascript"> setTimeout(function reload(){ location = '' },1000) </script> <button onclick="reload()">Reload</button> setTimeout(函数重载(){ 位置=“” },1000) 重新加载 但是,这只是重

我想要一个按钮,当点击将刷新指定的时间后,当前页面

我目前有:

<script type="text/javascript">
  setTimeout(function reload(){
    location = ''
  },1000)
</script>

<button onclick="reload()">Reload</button>

setTimeout(函数重载(){
位置=“”
},1000)
重新加载
但是,这只是重新加载页面,甚至不必单击按钮。我想要一个执行脚本的按钮,还有一个停止页面重新加载的按钮

这应该很简单,但我不明白:(

*******编辑************


我还希望该脚本在单击按钮后在无限循环上运行。

这应该可以做到

<script type="text/javascript">
  function reload(){
    setTimeout(function(){location.reload()}, 3000);
  }
</script>

<button onclick="reload()">Reload</button>

函数重载(){
setTimeout(函数(){location.reload()},3000);
}
重新加载

页面加载时会调用您的
设置超时时间。您需要将其放入
重新加载()函数中。
函数:

function reload() {
    setTimeout(function() {
        window.location.reload();
    }, 1000);
}
要使计时器每x秒运行一次并仅重新加载页面的一部分,您需要使用
setInterval
和AJAX请求,如下所示:

var timer;
function reload() {
    timer = setInterval(function() {
        $.post('foo.html', function(data) {
            $('#bar').html(data);
        });
    }, 1000);
}

function clear() {
    clearInterval(timer);
}

您需要将整个过程包装到另一个函数中,并通过单击按钮调用该函数

window.setTimeout("location = ''"; ,1000);
您刚才说的是在1秒后执行此函数。您需要在函数中定义setTimeout。此外,还有一个内置方法可重新加载页面。请调用该方法,而不是将位置设置为空字符串

function reload() {
    setTimeout( function() {
        window.location.reload(true);
    },1000);
}
现在要取消超时,需要使用
clearTimeout(timeoutId)
;从调用setTimeout时返回的整数中获取timeoutId

var timer = null;
function reload() {
    timer = window.setTimeout( function() {
        window.location.reload(true);
    },1000);
}

function cancelReload() {
    if (timer)  {
        window.clearTimeout(timer);
    }
    timer = null;
}
你说你想让它继续运行。这需要cookies或本地存储

var timer = null;
function reload() {
    localStorage.reload = true;  //set localstorage so we know to fire it off again
    timer = window.setTimeout( function() {
        window.location.reload(true);
    },1000);
}

function cancelReload() {
    if (timer)  {
        window.clearTimeout(timer);
    }
    timer = null;
   localStorage.removeItem("reload");  //remove the key in localstorage
}

if (localstorage.reload) {  //check localstorage to see if key is set
    reload();
}

把你的“设置超时”在一个函数中。然后从按钮调用该函数。谢谢Rory,这对我的要求很好。但是,我忘了提到我希望脚本在单击按钮后在无限循环上运行,对不起。@LukeJennings,这在重新加载页面时是不可能的,因此它将被设置回初始状态。要做什么您需要每X秒只需要使用AJAX刷新页面的一部分。@Rorymcrossan对于代码,在重新加载页面时不需要清除超时:)@Rorymcrossan如果我要重新加载iframe的内容该怎么办?我可以创建一个在循环中重新加载iframe的按钮吗?@Andrex谢谢,把计时器放进去,忘记了AJAX示例:)