jQuery:停止定期ajax调用?

时间:2010-05-30 00:44:36

标签: javascript jquery

我正在编写一个小的jQuery插件来更新一组包含使用Ajax调用获取的内容的Div。最初,我们假设我们有4个div。我正在做这样的事情:

(function($) {
    ....
    ....

    //main function
    $.fn.jDIV = {
       init: function() {
          ...
          ...
          for(var i = 0; i < numDivs; i++) {
             this.query(i);
          }
          this.handlers();
       },

       query: function(divNum) {
          //Makes the relevant ajax call
       },

       handlers: function() {
          for(var i = 0; i < numDivs; i++) {
            setInterval("$.fn.jDIV.query(" + i + ")", 5000);
          }
       }
    };

})(jQuery);

我希望能够启用和禁用特定的ajax查询。我想添加一个“开始”和“停止”而不是“处理程序”函数,然后像这样存储setInterval处理程序:

start: function(divNum) {
    divs[divNum] = setInterval("$.fn.jDIV.query(" + divNum + ")", 5000);
},
stop: function(divNum) {
    clearInterval(divs[divNum]);
}

我没有使用jQuery来设置和销毁事件处理程序。是否有更好的方法(可能使用更多的jQuery)来实现这一目标?

0 个答案:

没有答案