双setInterval

时间:2014-05-11 16:21:43

标签: javascript jquery ajax intervals

当我的AJAX调用完成后,我需要调用setInterval,但是当进行两次AJAX调用时,它也会调用setInterval两次。如何停止之前的setInterval

$(document).ajaxComplete(function () {
  $(".iframeFake").load(function () {
    var islem = setInterval(function () {
       $('.iframeFake').each(function (event) {
         console.log(1);
       }, 1000);
   });
});

在第一篇文章的Chrome控制台中我得到每秒1次 - 但是在第二篇文章之后我得到每秒双倍1。我的问题在哪里?

1 个答案:

答案 0 :(得分:1)

 var islem;
 $(document).ajaxComplete(function () {
    $(".iframeFake").load(function () {
        clearInterval(islem);
        islem = setInterval(function () {
            $('.iframeFake').each(function (event) {
                console.log(1);
            }, 1000);
        });
    });

如果要保持始终有一个间隔,请将变量存储在更高的范围内,并在创建之前取消以停止任何延迟间隔。

DEMO行动原则