我如何在jQuery中切换setInterval函数的状态?

Aar*_*ron 1 javascript jquery

我希望能够单击一个id为pause的元素来开始计算时间对象中的元素,如果我再次点击暂停,它将停止它并重新点击启动它就像JQuery中的切换功能一样一个setInteval函数我该怎么做呢?

$("#pause").click(function(ffe) {
  if(on == true) {
    on = false 
    alert("on");
  }
  else {
    on = true;
    alert("off");
  }
  if(on == false) {
    setInterval(function() {
      $("#timet ul").append("<li>" + $("#time ul")
                    .children('li').length +"</li>");

    }, 100);
  }
  else {

    alert("Error");
  }
});
Run Code Online (Sandbox Code Playgroud)

sle*_*man 5

一种经典的技术是使用单个主setInterval循环,只需使用if..else逻辑来确定需要运行的内容.这是很多JavaScript游戏的工作方式:

var on = true;

// Our master scheduler:
setInterval(function() {
    if (on) {
      $("#timet ul").append("<li>" + $("#time ul")
         .children('li').length +"</li>");
    }
}, 100);

// Code to handle the pause button
$("#pause").click(function(ffe) {
    on = !on;
}
Run Code Online (Sandbox Code Playgroud)