我正在对滚动事件调用checkscroll(),它不断地发出Ajax请求。我想在调用checkscroll()之间提供一些延迟,这样我的第一个Ajax请求就可以在第二次调用checkscrll()并发出Ajax请求之前完成。这是我的代码:
function scroll(){ $(window).bind('scroll',checkScroll);}
// calling checkScroll() on scroll
function refresh(){flag = 1;}
function checkScroll() {
if (flag==1){ $(window).unbind('scroll');}
if(nearBottomOfPage() == 0)
{
currentPage ++;
xhr = $.ajax(
{
url : '/ideabank?page=' + currentPage,
beforeSend: function() {
$('#loading').show()
},
complete: function(){
$('#loading').hide()
},
success : function(){ "can I do something here"}
} );
}
}
试试这个代码:
function scroll(){
$(window).bind('scroll',function(){
setTimeOut(checkScroll,1000);
});
}
谢谢大家,完成了,我给ajax设置了setTimeout。发布代码片段以更好地理解。
setTimeout( function() {
$.ajax({
type: "GET",
url: '/ideabank?page=' + currentPage,
beforeSend: function() {
$('#loading').show()
},
success: function(html) {
$('#loading').hide()
}
});
}, 500 );