
建站百科
當前位置:湘潭磐石網絡科技有限公司 > 建站百科 > CMS資訊 > 瀏覽文章
織夢DedeCMS列表實現無限加載并且不影響靜態頁生成與訪問的方法
很多朋友在建站過程中尤其是新聞類以及圖片類網站,需要用到列表無限加載,下面就告訴大家如何實現這個功能,而且又不影響列表靜態頁的生成。
我們需要用到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不能為空。大家趕快自己試試吧!