QQ在线咨询在线咨询帮做网络积累了丰富的项目经验,聚集了一批资深专业人才,售后服务一流,内业好评不断,是一家专业的网站建设服务商。微信:专业的网站建设服务商。微信:网站建设地图 | 城市分站

dedecms列表实现无限加载并且不影响静态页生成与访问

时间:2019-03-12 08:08:22作者:网站建设工程师来源:帮做网络浏览量:0

导  读:很多朋友在建站过程中尤其是新闻类以及图片类网站,需要用到列表无限加载,下面就告诉...
很多朋友在建站过程中尤其是新闻类以及图片类网站,需要用到列表无限加载,下面就告诉大家如何实现这个功能,而且又不影响列表静态页的生成。
我们需要用到Jquery.load()方法来请求下一页达到列表页无限加载的效果。下面是具体的代码:
列表页简单的dom结构代码:
<div class="list"> 
<ul> 
<li><a href="">列表简单的dom结构</a></li> 
</ul> 
</div> 
分页按钮样式:

<!-- data-catid的值为当前栏目id data-list是当前模版列表特殊样式 -->
<div class="list_next" data-catid="{dede:field.id/}" data-list="">
<a href="javascript:;">下一页</a></div>
<div class="list_load"></div> 
JS请求的代码如下:
<script type="text/javascript"> 
var catid = $(".list_next").data("catid"); //获取栏目id 
var cur_list = $(".list_next").data("list") == "列表样式2" ? "列表样式2" : ".list"; //列表样式 
var next_no = 2; //分页数 
var path_arr = window.location.pathname.split("/"); 
var file = path_arr[path_arr.length-1]; 
if(file != "index.html" && file != ""){ next_no = parseInt(file.split(".")[0].split("-")[1]) + 1; } 
$(".list_next a").click(function(){ 
var _this = $(this); 
_this.html("正在加载中..."); //给定按钮临时加载状态 
$(".list_load").load("./"+catid+"-"+next_no+".html?now="+new Date().getTime()+" "+cur_list+" ul" , function(data , status){ 
if(status == "success"){ 
if($(".list_load").html().indexOf("li")<0){ 
_this.html("没有更多内容了"); 
_this.css("background-color" , "#888"); 
_this.unbind("click");} else { 
_this.html("下一页"); 
$(cur_list+" ul").append($(".list_load ul").html()); 
next_no++;} 
} else { 
_this.html("没有更多内容了"); 
_this.css("background-color" , "#888"); 
_this.unbind("click"); } }); }); 
</script>
代码就基本上完成了,这里需要注意一下,模板里面必须要引入jquery库文件,另外catid 和next_no不能为空。大家赶快自己试试吧!


转载请注明出处:网站首页> 知识学堂 > dedecms仿站 > dedecms列表实现无限加载并且不影响静态页生成与访问