下面的函数将进行Ajax调用以从mySQL数据库加载数据:
function displayAll() {
clearInterval ( stopCompoundingInt ); //stop current Interval
sendAjax('search', 'q', function(responseText){
$("#txtResp").html(responseText);
stopCompoundingInt = setInterval ( function(){ // start a new interval with below conditions:
sendAjax('search', 'q', function(responseText){
$("#txtResp").html(responseText);
});
}, 5000 );
})
}
以下是应用它的地方:
var eInput = "";
stopCompoundingInt = 0;
$('#searchbar').live('keyup',function() {
eInput = $(this).val();
if (eInput.length > 0) {
clearInterval ( stopCompoundingInt );
$('#display_all').hide();
sendAjax('search', eInput, function(responseText){
$("#txtResp").html(responseText);
stopCompoundingInt = setInterval ( function(){
sendAjax('search', eInput, function(responseText){
$("#txtResp").html(responseText);
});
}, 5000 );
})
} else {
displayAll(); // run the above function to show all events
}
});
如果ID =“searchbar”的文本框中没有文字,该函数应该以5秒的间隔运行
有没有人有任何可以提高此功能性能的建议?
非常感谢,
泰勒
答案 0 :(得分:1)
您可能需要尝试jQuery .load() function并查看jQuery Timers plugin。我相信重复使用他们的解决方案是非常好的和非常简单的解决方案。