Javascript 如何使用setInterval在默认情况下打开刷新,但使用开关关闭刷新
我想使用setInterval来控制页面的刷新。我想让它在默认情况下运行(当页面加载时打开),但我需要能够在某些时间关闭它。所以我写了你在下面看到的。问题是当页面第一次显示时,刷新没有打开。只有在我点击按钮两次以重新激活更新setInterval控件后,它才会出现 我的html按钮定义如下所示Javascript 如何使用setInterval在默认情况下打开刷新,但使用开关关闭刷新,javascript,jquery,Javascript,Jquery,我想使用setInterval来控制页面的刷新。我想让它在默认情况下运行(当页面加载时打开),但我需要能够在某些时间关闭它。所以我写了你在下面看到的。问题是当页面第一次显示时,刷新没有打开。只有在我点击按钮两次以重新激活更新setInterval控件后,它才会出现 我的html按钮定义如下所示 <button id="autoref" type="button" name="autoref" onclick="stopAutoRef();">Stop Auto Ref</but
<button id="autoref" type="button" name="autoref" onclick="stopAutoRef();">Stop Auto Ref</button>
function stopAutoRef() {
if ($("#autoref").text() == "Stop Auto Ref") {
$("#autoref").html('Start Auto Ref'); // You see this if Refresh is not automatically happening
clearInterval();
}else {$("#autoref").html('Stop Auto Ref'); // You see this if Refresh is automatically happening
setInterval(function() {showActivities(document.getElementById("select1").value);}, 60000);
}
}
返回必须传递给clearInterval
才能停止的ID。除了单击启动刷新的默认行为外,还需要立即调用函数startAutoRef()
var autoRefId = null;
function stopAutoRef() {
if (autoRefId !== null) {
$("#autoref").html('Start Auto Ref'); // You see this if Refresh is not automatically happening
clearInterval(autoRefId);
autoRefId = null;
} else {
$("#autoref").html('Stop Auto Ref'); // You see this if Refresh is automatically happening
autoRefId = setInterval(function() {showActivities(document.getElementById("select1").value);}, 60000);
}
}
stopAutoRef();
clearinterval通常需要停止哪个函数的参数。那么试试这个吧 试试这个: HTML:
没有运行setInterval(function(){showActivities(document.getElementById(“select1”).value);},60000)有什么特别的原因吗;在文档准备好第一次启动时?我需要在底部添加一个封闭的括号}使其工作(关闭),但当我重新打开它时,它不会返回到刷新状态。这是一种开箱即用的方式,自动关闭works和打开works。
<button id = 'b' onclick = 'stop(this)' value = 'true'>Stop ref</button>
var myfunc = setInterval(function(){
location.reload();
},1000);;
function stop(button){
if(button.innerHTML == 'Stop ref'){
button.innerHTML = 'Start ref';
clearInterval(myfunc);
}
else{
button.innerHTML = 'Stop ref';
myfunc = setInterval(function(){
location.reload();
},1000);;
}
}