滚动事件有一些奇怪的行为

时间:2013-05-09 21:15:31

标签: javascript jquery scroll

我有这种类型的问题。

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

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

我可以做些什么来使这段代码正常工作,因为它在更快的计算机上正常工作......

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

代码:

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

2 个答案:

答案 0 :(得分: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;
       });
      }
    }
});

答案 1 :(得分:0)

你不应该使用它:

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

但是这个:

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

使用var作为状态并检查它