很多朋友在建站過程中尤其是新聞類以及圖片類網站,需要用到列表無限加載,下面就告訴大家如何實現這個功能,而且又不影響列表靜態頁的生成。
我們需要用到Jquery.load()方法來請求下一頁達到列表頁無限加載的效果。下面是具體的代碼:
列表頁簡單的dom結構代碼:
分頁按鈕樣式:
JS請求的代碼如下:
我們需要用到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不能為空。大家趕快自己試試吧!