如何使用一些onclick调用功能按钮停止此循环?

时间:2019-07-17 13:42:18

标签: javascript

我在这里有一个按钮来启动功能。和往常一样

<button onclick="start()">START</button>

这是我的循环功能。

function start() {
               $.ajax({
                    url: url + value,
                    type: 'GET',
                    async: true,
                    success: function(result) {
                        if (result.match("success")) {
                            removeline();
                            live(result);
                        }else {
                            removeline();
                            dead(result);
                        }
                    }
                });
            }, 2000 * index);
}

现在我可以使用什么功能来使代码的执行停止在上方。我想要可以开始和停止的东西。

2 个答案:

答案 0 :(得分:2)

这可能会帮助

var stopped = false, tId;

function stop() {
  stopped = true;
  clearTimeout(tId);
}

function start() {
  stopped = false;
  $.ajax({
    url: url + value,
    type: 'GET',
    async: true,
    success: function(result) {
      if (result.match("success")) {
        removeline();
        live(result);
      } else {
        removeline();
        dead(result);
      }
      if (!stopped) tId = setTimeout(start, 2000 * index)
    }
  });
}
<button type="button" onclick="start()">START</button>
<button type="button" onclick="stop()">Stop</button>

答案 1 :(得分:-1)

尝试取消Abort Ajax requests using jQuery中显示的请求

var xhr = $.ajax({
  type: "POST",
  url: "some.php",
  data: "name=John&location=Boston",
  success: function(msg){
     alert( "Data Saved: " + msg );
  }
});
xhr.abort()