0

我在滚动事件上调用 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"}

    } );
}

}
4

2 回答 2

1

试试这个代码:

function scroll(){ 
 $(window).bind('scroll',function(){
  setTimeOut(checkScroll,1000);
});
}
于 2012-07-11T13:31:09.990 回答
1

谢谢大家,我已经给 ajax.Posting 代码片段提供了 setTimeout 以便更好地理解。

     setTimeout( function() {
        $.ajax({
            type: "GET",

            url: '/ideabank?page=' + currentPage,

            beforeSend: function() {
                $('#loading').show()
            },

            success: function(html) {
                $('#loading').hide()
            }
        });
    }, 500 ); 
于 2012-07-12T06:18:44.733 回答