我正在开发一个Ajax函数,该函数必须每3秒从数据库中获取一次用户。它工作正常。真正的麻烦是,每3秒钟功能刷新一次,如果有人选择(通过鼠标),选择将在3秒后被删除。
我该怎么做才能解决这个问题?
简单示例:
ajax_load();
setInterval(function(){
ajax_load();
}, 3000)
答案 0 :(得分:0)
解决方案是:
伪代码:
var ajax_load = function(callback){
$.ajax("request-url", {
success: function(data) {
appendHTMLContent();
if(callback) callback();
}
});
};
ajax_load();
[change-event-example].change(function(){
cacheUserSelection();
});
setInterval(function(){
ajax_load(restoreUserSelectionCallBack);
}, 3000);
示例:
[change-event-example]
表示您需要从用户捕获更改事件,然后缓存更改。例如,如果复选框中发生更改,则应为:
HTML:
<input type="checkbox" class="user_selection" data-no="1" />
<input type="checkbox" class="user_selection" data-no="2" />
jQuery的:
$('.checkbox').change(function() {
if($(this).is(":checked")) {
cacheUserSelection($(this).data("no"));
}
});