记录初始化的页数,now为当前页,num为总页数,这个数值的设置是通过php获取分页的时候的总页数
<div class="caseud" now="1" num="2">
<a href="javascript:;">加载更多</a>
</div>
<script type="text/javascript">
//记录状态
var state=true;
//滚动条滚动的时候
$(window).scroll(function(){
//获取当前加载更多按钮距离顶部的距离
var bottomsubmit = $('.caseud').offset().top;
//获取当前页面底部距离顶部的高度距离
var nowtop = $(document).scrollTop()+$(window).height();
//获取当前页数,默认第一页
var now = $('.caseud').attr('now');
//获取总页数,PHP分页的总页数
var num = $('.caseud').attr('num');
//当当前页面的高度大于按钮的高度的时候开始触发加载更多数据
if(nowtop>bottomsubmit){
//如果为真继续执行,这个是用于防止滚动获取过多的数据情况
if(state==true){
//执行一次获取数据并停止再进来获取数据
state=false;
setTimeout(function(){
//当前页数++
now++;
//记录当前为第二页
$('.caseud').attr('now',now);
$.ajax({
//通过ajax传页数参数获取当前页数的数据,ajax_more_case.php代码参考php分页功能
url:'ajax_more_case.php?page='+$('.caseud').attr('now')',
type:'GET',
cache:false,
dataType:"html",
success:function(data){
//把通过php处理的html和数据,写入容器底部
$('.case').append(data);
//如果当前页大于等于总页数就提示没有更多数据
if(now>=num){
$('.caseud a').text('没有更多数据');
//并把状态设置为假,下次下滑滚动时不再通过ajax获取数据
state=false;
}else{
//否则继续
state=true;
}
},
error:function(){
$('.caseud a').text('加载错误,请刷新页面!');
}
});
},500);
}
}
});
</script>
这里的下滑到底部加载更多的功能,通过判断屏幕是否滚动到底部,当滚动到底部的时候通过分页页数去ajax数据过来,并写入到页面中。