Javascript:停止SetInterval

时间:2014-02-02 21:52:00

标签: javascript jquery setinterval

我无法弄清楚如何停止我的setinterval代码。我已经看到了stackoverflow上的其他帖子,但没有任何效果。

$(document).ready(function() {
  var content =  tinyMCE.getContent('content').value;
});
var myinterval = setInterval(function() {
  $.get("status.php?id=<?php echo $id; ?>",function(data){     
    val = content.value;
    if (val != data) {
      $.pnotify({
        title: 'Regular Notice',
        text: 'Check me out! I\'m a notice.'
      });
      clear();
    }
  });
}, 1000 * 2 * 1); 

function clear(){
    clearInterval(myinterval);
}

2 个答案:

答案 0 :(得分:1)

您必须捕获间隔ID并将其传递给clearInterval

var intervalId = setInterval(function() {

clearInterval(intervalId);

答案 1 :(得分:1)

setInterval()会返回唯一的时间间隔ID,您可以将其传递给clearInterval()以取消重复操作。

//Capture interval id in a variable
var myinterval = setInterval(function () {
    $.get("status.php?id=<?php echo $id; ?>", function (data) {
        val = content.value;
        if (val != data) {
            $.pnotify({
                title: 'Regular Notice',
                text: 'Check me out! I\'m a notice.'
            });

            //Call clear method
            clear();
        }
    });
}, 1000 * 2 * 1);

function clear() {
    //Call method with defined ID
    clearInterval(myinterval);
}