JQuery clearInterval拒绝工作

时间:2016-06-05 14:33:05

标签: jquery

我有一个jQuery function,当它运行时setInterval function被调用而div也是display:block;但我想在div为display:none时停止间隔。我尝试了3次尝试。第一次尝试在我的stp not defined中说strt not definedconsole.log,但另外2次没有工作。

  1. 首次尝试

    function runner(){
        document.getElementById("x").style.display='block';
        var strt = setInterval (function(){
            $("div").show();
        }, 1000);
        var stp = setInterval (function(){
            $("div").hide();
        }, 1000);
    }
    
    //then I attempt to clearInterval outside the runner function
    
    x = document.getElementById("x");
    if(x.style.display == "none"){
        clearInterval(stp);
        clearInterval(strt);
    }
    
  2. 第二次尝试

    function runner(){
        document.getElementById("x").style.display='block';
        var strt = setInterval (function(){
            $("div").show();
        }, 1000);
        var stp = setInterval (function(){
            $("div").hide();
        }, 1000);
    
        // I attempt to clearInterval inside the runner function
    
        x = document.getElementById("x");
        if(x.style.display == "none"){
            clearInterval(stp);
            clearInterval(strt);
        }
    }
    
  3. 最终尝试

    function runner(){
        document.getElementById("x").style.display='block';
    
        // I attempt to clearInterval inside the setInterval function
    
        var strt = setInterval (function(){
            x = document.getElementById("x");
            if(x.style.display == "block"){
                $("div").show();
            } else {
                clearInterval(strt);
            }               
        }, 1000);
    
        var stp = setInterval (function(){
            x = document.getElementById("x");
            if(x.style.display == "block"){
                $("div").hide();
            } else {
                clearInterval(stp);
            }               
        }, 1000);
    
    }
    

    我的目标是当runner function正在运行时div继续闪烁并且每隔1秒闪烁一次我希望它尽快停止x.style.display == "none"请如何运行我的void foo( T *p ) // where T is an arbitrary data type { *p = new_value(); // write new value to the thing p points to } void bar( void ) { T var; foo( &var ); // write new value to var } 码?

1 个答案:

答案 0 :(得分:0)

我已经弄明白了这个问题。第一次尝试工作正常但我需要在运行像这样的函数之前定义strtstp变量

var start;
var stp;
function runner (){
    //blah blah blah
}