ajax滚动到底部时阻止重复加载数据

2017-12-14  本文已影响827人  毕竟1米八

ajax滚动到底部时加载数据的原理和点击加载更多是一样的,上一篇已经详细介绍了,这里就不多说了。

一、如何触发

//滚动到底部时触发
$(window).scroll(function() {
  if($(window).scrollTop() + $(window).height() >= $(document).height()){
    //ajax
  }
})

二、重复加载数据问题

当网页滚动到底部时,加载一次数据。这时,鼠标滑轮往上滚然后再往下滚,会出现重复加载了同一页数据的情况,这种情况下加载了不必要的数据资源以及增加了服务器加载压力。这时,我们可以这样解决:

1、先建立一个变量,判定是否加载中,防止重复加载。
2、如果条件为true,锁定加载,ajax调取数据,并执行加载,取消锁定。

var isbool=true;//触发开关,防止多次调用事件    
$(window).scroll(function() {    
    if (($(this).scrollTop() + $(window).height()) >= $(document).height() && isbool==true) {      
        isbool=false;         
        //ajax  
    }      
});  
上一篇 下一篇

猜你喜欢

热点阅读