很多朋友在建站过程中尤其是新闻类以及图片类网站,需要用到列表无限加载,下面就告诉大家如何实现这个功能,而且又不影响列表静态页的生成。

 

 

我们需要用到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不能为空。大家赶快自己试试吧!


THE END

本站部分文章搜集整理于互联网或者网友提供,如有侵权请联系站长

如若转载,请注明出处:https://htmlbk.com/dedecms/204.html

温馨提示:该文档最后一次修改时间为2019-07-12 18:47:52,请注意相关的内容是否还可用!

TAG标签:DedeCMS教程