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
}
});
网友评论