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

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

WBOY
Freigeben: 2016-06-13 12:19:11
Original
1502 Leute haben es durchsucht

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage