Maison >développement back-end >tutoriel php >滚动分页的代码,会多次请求页码,导致数据重复,经过本人测试,是以下代码的有关问题,但没有找到解决办法,求解决
滚动分页的代码,会多次请求页码,导致数据重复,经过本人测试,是以下代码的问题,但没有找到解决方法,求解决
var page=1;
var setFixed=function(){
var t=$(document).scrollTop(); //卷上去的高度
var wh=$(window).height();//窗口的高度
var h=$(document).height();//网页窗口的高度
var data={};
var cateid=$("#cateid").val();
if(page>0){
$("#load").show();
//a=document.body.scrollHeight;
//b=$(window).scrollTop();
//c=$(window).height();
//if(c==(a-b) || page ==1){
if(t+wh>=h-50){
$.post(app.config.site+"/Game/getGame",{cateid:cateid,page:page},function(data){
$("#load").hide();
if(data.status==1){
//e.preventDefault();
$(".list_class").html($(".list_class").html()+data.info);
//$(".list_class").html(data.info);//覆盖页码
page++;
}else{
page=0;
}
},'json');
}
}
};
setFixed(page);
window.onscroll=setFixed;
});
});
------解决思路----------------------
设定一个 isajaxsend=false 的变量(只用于判断是否有滚动分页请求正在执行也可以)
<br />var isajaxsend=false;<br />var page=1;<br />var setFixed=function(){<br /> var t=$(document).scrollTop(); //卷上去的高度<br /> var wh=$(window).height();//窗口的高度<br /> var h=$(document).height();//网页窗口的高度<br /> var data={};<br /> var cateid=$("#cateid").val();<br /> if(page>0){<br /> $("#load").show();<br /> //a=document.body.scrollHeight;<br /> //b=$(window).scrollTop();<br /> //c=$(window).height();<br /> //if(c==(a-b) <br><font color='#FF8000'>------解决思路----------------------</font><br> page ==1){<br /> if(t+wh>=h-50){<br /> if (isajaxsend) {//判断是否有滚动分页正在请求,若有则不请求<br /> return false;<br /> }<br /> isajaxsend = true;//标识正在请求分页内容<br /> $.post(app.config.site+"/Game/getGame",{cateid:cateid,page:page},function(data){<br /> $("#load").hide();<br /> if(data.status==1){<br /> //e.preventDefault(); <br /> $(".list_class").html($(".list_class").html()+data.info);<br /> //$(".list_class").html(data.info);//覆盖页码<br /> page++;<br /> }else{<br /> page=0;<br /> }<br /> isajaxsend = false;//不论成功与否,都标识为没有请求<br /> },'json');<br /> }<br /> }<br />};<br />