我试图让我的页面刷新"异步(我刷新包含部分视图的div元素)var edit = true
。当我点击我的按钮时,编辑被更改,该按钮具有类:btn。我想知道我应该把代码放在哪里。
我应该把我的while循环放在我的$(文件).ready中吗? 我很失落,因为这对我来说是全新的。
这是我的代码:
var edit = true;
while(edit){
window.setInterval(function(){
alert('5 seconds');
}, 5000);
}
$(document).on('click','.btn', function(){
if(edit ? edit = false : true);
}
答案 0 :(得分:2)
您不需要while
来持续刷新。只要您单击按钮并在下次单击时重新启动它,就可以使用clearInterval
。
var interval, i = 0;
$('button').click(function() {
if( interval ) {
interval = clearInterval(interval);
}
else {
interval = setInterval(function() {
console.log(++i);
}, 1000);
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>start / stop</button>
&#13;
编辑注释时,要直接启动间隔,我会将其封装到函数中并使用它。也许是这样的:
var interval, i = 0;
function startInterval() {
if( !interval ) {
interval = setInterval(function() {
console.log(++i);
}, 1000);
}
return interval;
}
// start on document load
$(startInterval);
// start / stop on button click
$('button').click(function() {
interval = interval ? clearInterval(interval) : startInterval();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>start / stop</button>
&#13;
答案 1 :(得分:0)
下面每隔一段时间刷新页面(例如:30秒)
<head>
<meta http-equiv="refresh" content="30">
...
</head>