Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 如何使用setInterval在默认情况下打开刷新,但使用开关关闭刷新_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用setInterval在默认情况下打开刷新,但使用开关关闭刷新

Javascript 如何使用setInterval在默认情况下打开刷新,但使用开关关闭刷新,javascript,jquery,Javascript,Jquery,我想使用setInterval来控制页面的刷新。我想让它在默认情况下运行(当页面加载时打开),但我需要能够在某些时间关闭它。所以我写了你在下面看到的。问题是当页面第一次显示时,刷新没有打开。只有在我点击按钮两次以重新激活更新setInterval控件后,它才会出现 我的html按钮定义如下所示 <button id="autoref" type="button" name="autoref" onclick="stopAutoRef();">Stop Auto Ref</but

我想使用setInterval来控制页面的刷新。我想让它在默认情况下运行(当页面加载时打开),但我需要能够在某些时间关闭它。所以我写了你在下面看到的。问题是当页面第一次显示时,刷新没有打开。只有在我点击按钮两次以重新激活更新setInterval控件后,它才会出现

我的html按钮定义如下所示

<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);;
    }
}