很多朋友在建站過程中尤其是新聞類以及圖片類網(wǎng)站,需要用到列表無限加載,下面就告訴大家如何實現(xiàn)這個功能,而且又不影響列表靜態(tài)頁的生成。
我們需要用到Jquery.load()方法來請求下一頁達到列表頁無限加載的效果。下面是具體的代碼:
列表頁簡單的dom結(jié)構(gòu)代碼:
-
<div class="list">
-
<ul>
-
<li><a href="">列表簡單的dom結(jié)構(gòu)</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; //分頁數(shù)
-
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("正在加載中..."); //給定按鈕臨時加載狀態(tài)
-
$(".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("沒有更多內(nèi)容了");
-
_this.css("background-color" , "#888");
-
_this.unbind("click");} else {
-
_this.html("下一頁");
-
$(cur_list+" ul").append($(".list_load ul").html());
-
next_no++;}
-
} else {
-
_this.html("沒有更多內(nèi)容了");
-
_this.css("background-color" , "#888");
-
_this.unbind("click"); } }); });
-
</script>
代碼就基本上完成了,這里需要注意一下,模板里面必須要引入jquery庫文件,另外catid 和next_no不能為空。大家趕快自己試試吧!