我在scroll事件上调用checkscroll(),这会连续发出Ajax请求。 我想在调用checkscroll()之间提供一些延迟,以便在第二次调用checkscroll()并发出ajax请求之前完成我的第一个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"}
} );
}
}
答案 0 :(得分:1)
试试这段代码:
function scroll(){
$(window).bind('scroll',function(){
setTimeOut(checkScroll,1000);
});
}
答案 1 :(得分:1)
谢谢大家, 完成后我已经将setTimeout给了ajax.Posting代码片段以便更好地理解。
setTimeout( function() {
$.ajax({
type: "GET",
url: '/ideabank?page=' + currentPage,
beforeSend: function() {
$('#loading').show()
},
success: function(html) {
$('#loading').hide()
}
});
}, 500 );