while循环中每隔n秒刷新一次异步页面
问题描述:
我试图让页面“刷新”异步(我正在刷新包含部分视图的div元素),而var edit = true
。当我点击我的按钮有类:btn时编辑被改变。我想知道我应该把我的代码放在哪里。while循环中每隔n秒刷新一次异步页面
我应该把我的while循环在我的$(document).ready中吗? 我很失落,因为这对我来说都是陌生的。
这是我的代码:
var edit = true;
while(edit){
window.setInterval(function(){
alert('5 seconds');
}, 5000);
}
$(document).on('click','.btn', function(){
if(edit ? edit = false : true);
}
答
你不需要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>
可以编辑您的意见,直接启动的时间间隔我会把它封装到一个函数并使用它。也许在某种程度上是这样的:
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();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>start/stop</button>
我会更新我的问题 – Roy123
什么都有'如果(编辑编辑=假:真);'用你的问题吗?即使是“警报”也没有任何关系。事实上,我没有看到这些代码与你的问题有什么关系? – trincot
另外,您的代码中有MVC,但问题没有引用该代码。你在使用Angular还是类似的东西? – isherwood