Home >Backend Development >PHP Tutorial >滚动分页的代码,会多次请求页码,导致数据重复,经过本人测试,是以下代码的有关问题,但没有找到解决办法,求解决

滚动分页的代码,会多次请求页码,导致数据重复,经过本人测试,是以下代码的有关问题,但没有找到解决办法,求解决

WBOY
WBOYOriginal
2016-06-13 12:19:111500browse

滚动分页的代码,会多次请求页码,导致数据重复,经过本人测试,是以下代码的问题,但没有找到解决方法,求解决
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 />

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn