很多朋友在建站过程中尤其是新闻类以及图片类网站,需要用到列表无限加载,下面就告诉大家如何实现这个功能,而且又不影响列表静态页的生成。 我们需要用到 Jquery.load() 方法来请求下一页达到列表页无限加载的效果。下面是具体的代码: 列表页简单的dom结构代码: 1 div class= list 2 ul 3 lia href= 列表简单的dom结构/a/li 4 /ul 5 /div 分页按钮样式: 1 !-- data-catid的值为当前栏目 id data-list是当前模版列表特殊样式 - […]
很多朋友在建站过程中尤其是新闻类以及图片类网站,需要用到列表无限加载,下面就告诉大家如何实现这个功能,而且又不影响列表静态页的生成。
我们需要用到Jquery.load()方法来请求下一页达到列表页无限加载的效果。下面是具体的代码:
列表页简单的dom结构代码:
3 |
<li><a href= "" >列表简单的dom结构</a></li> |
|
分页按钮样式:
1 |
<!-- data-catid的值为当前栏目 id data-list是当前模版列表特殊样式 --> |
2 |
<div class= "list_next" data-catid= "{dede:field.id/}" data-list= "" > |
3 |
<a href= "javascript:;" >下一页</a></div> |
4 |
<div class= "list_load" ></div> |
|
JS请求的代码如下:
01 |
<script type = "text/javascript" > |
02 |
var catid = $( ".list_next" ).data( "catid" ); //获取栏目 id |
03 |
var cur_list = $( ".list_next" ).data( "list" ) == "列表样式2" ? "列表样式2" : ".list" ; //列表样式 |
04 |
var next_no = 2; //分页数 |
05 |
var path_arr = window.location.pathname. split ( "/" ); |
06 |
var file = path_arr[path_arr.length-1]; |
07 |
if ( file != "index.html" && file != "" ){ next_no = parseInt( file . split ( "." )[0]. split ( "-" )[1]) + 1; } |
08 |
$( ".list_next a" ).click( function (){ |
10 |
_this.html( "正在加载中..." ); //给定按钮临时加载状态 |
11 |
$( ".list_load" ).load( "./" +catid+ "-" +next_no+ ".html?now=" +new Date().getTime()+ " " +cur_list+ " ul" , function (data , status){ |
12 |
if (status == "success" ){ |
13 |
if ($( ".list_load" ).html().indexOf( "li" )<0){ |
14 |
_this.html( "没有更多内容了" ); |
15 |
_this.css( "background-color" , "#888" ); |
16 |
_this.unbind( "click" );} else { |
18 |
$(cur_list+ " ul" ).append($( ".list_load ul" ).html()); |
21 |
_this.html( "没有更多内容了" ); |
22 |
_this.css( "background-color" , "#888" ); |
23 |
_this.unbind( "click" ); } }); }); |
|
代码就基本上完成了,这里需要注意一下,模板里面必须要引入jquery库文件,另外catid 和next_no不能为空。大家赶快自己试试吧!