我正在编写一个小的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)来实现这一目标?