在每次调用滚动事件中调用的函数后,给出延迟



我正在对滚动事件调用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 ); 

最新更新