0

我有这种类型的问题。

我有一个滚动事件,它正在检查我是否已到达页面末尾,然后它从服务器获取数据并且该部分工作正常。

我遇到的问题是,在较旧的计算机上,当滚动事件发生时,我遇到了加载双项的问题。

我该怎么做才能使此代码正常工作,因为它在更快的计算机上正常工作...

我尝试delay()了滚动事件中的代码,并且发生了同样的事情......

代码:

$(window).scroll(function() 
{
    if($(window).scrollTop() + $(window).height() == $(document).height()) 
    {
       $(".loader").show().delay(700).fadeOut();
       $.ajax({ ///more code });
    }
});
4

2 回答 2

1
var loading = false;
$(window).scroll(function() 
{
    if($(window).scrollTop() + $(window).height() == $(document).height()) 
    {
      if(!loading){
       loading = true;
       $(".loader").show().delay(700).fadeOut();
       $.ajax({ ///more code })
       .done(function(){
          loading = false;
       });
      }
    }
});
于 2013-05-09T21:18:48.600 回答
0

你不应该使用这个:

if($(window).scrollTop() + $(window).height() == $(document).height()) 

但是这个:

 if($(window).scrollTop() + $(window).height() > $(document).height())

并使用 var 作为状态并检查它

于 2013-05-09T21:23:03.817 回答