jQuery-暂时禁用功能,然后再次启用它

时间:2019-04-27 20:17:11

标签: javascript jquery

我想禁用该功能,并在超时后启用它。

例如,我想在一段时间后停止第一个脚本的循环,然后再次启动。

JS

// Script that loops

function messages() {

  setInterval(function() {

    setTimeout(function() {
      alert("Hello!");
    }, 2000);  

    setTimeout(function() {
      alert("I said hello!");
    }, 10000);  

  }, 20000);  // It's looping every 20 sec

}

// Script with timeout to stop the loop

setTimeout(function() {
  messages.stop();
}, 60000);  // Stop it after 60 sec

setTimeout(function() {
  messages.start();
}, 120000);  // Start again it after 120 sec

可以做到吗?

2 个答案:

答案 0 :(得分:1)

如果在循环内,您不能:

// the start method turns a variable to true for example in the inner function scope
if (start) {
  setTimeout((data) => data, 25000);
}

这项工作吗?希望能帮助到你。

答案 1 :(得分:1)

希望它能对您有所帮助。

function messages() {

      var main = setInterval(function() {


        setTimeout(function() {
          alert("Hello!");
        }, 2000); 

     
  

        setTimeout(function() {
          alert("I said hello!");
        }, 10000);  


      }, 20000);  // It's looping every 20 sec
        
     
    setTimeout(function() {
        clearInterval(main);
    }, 60000);  // stop again it after 60 sec
        
 
    setTimeout(function() {
         messages();
    }, 120000); // start again it after 120 sec
        
    }
    
    messages();

已更新