jQuery實現偽分頁的方法分享,jquery偽分頁分享
本文執行個體講述了jQuery實現偽分頁的方法。分享給大家供大家參考,具體如下:
可以對錶格資料進行偽分頁,而且只需要執行簡單的代碼就可以實現。
實現的很簡單、樣式也不太好看,大家可以自行調整,糾正。
下面是一個table,tbody裡載入tr資料,無論你怎麼載入,
在資料載入完成後便可以對table資料進行偽分頁、注意div引用的class,我填充的資料是四列的,所以td裡加了colspan,div是分頁顯示地區
<table> <tbody id="dialog-items"> </tbody> <tfoot> <tr> <td colspan="4"> <div id="maskPage" class="page_btn"> </div> </td> </tr> </tfoot></table>
下面是css和js方法
.page_btn{padding-top:0px;}.page_btn a{cursor:pointer;padding:5px;border:solid 1px #ccc;font-size:12px;}.page_box{float:right;}.num{padding:0 10px;}
js方法如下
//對tbody偽分頁;pageDiv:用於顯示分頁資料的div tbodyId :tbody的ID,pageSize,分頁數目function pagiNation(pageDiv,tbodyId,pageSize){ $("#"+tbodyId+" tr:gt("+(pageSize-1)+")").hide();//初始化,前面pageSize-1條資料顯示,其他的資料隱藏。 var total_q=$("#"+tbodyId+" tr").length;//總資料 var current_page=pageSize;//每頁顯示的資料 var current_num=1;//當前頁數 var total_page= Math.ceil(parseFloat(total_q)/parseFloat(current_page));//總頁數 var pagePlugIn = "<span class=\"page_box\">"+ "<a id=\""+tbodyId+"_prev\" class=\"prev\">上一頁</a>"+ "<span id=\""+tbodyId+"_num\" class=\"num\">"+ "<span id=\""+tbodyId+"_current_page\" class=\"current_page\">1</span>"+ "<span style=\"padding:0 3px;\">/</span>"+ "<span id=\""+tbodyId+"_total\" class=\"total\"></span></span>"+ "<a id=\""+tbodyId+"_next\" class=\"next\">下一頁</a>"+ "</span>"; $("#"+pageDiv+"").html(pagePlugIn); var next=$("#"+tbodyId+"_next");//下一頁 var prev=$("#"+tbodyId+"_prev");//上一頁 $("#"+tbodyId+"_total").text("");//顯示總頁數 $("#"+tbodyId+"_total").text(total_page);//顯示總頁數 $("#"+tbodyId+"_current_page").text("");//當前的頁數 $("#"+tbodyId+"_current_page").text(current_num);//當前的頁數 //下一頁 $("#"+tbodyId+"_next").unbind("click"); $("#"+tbodyId+"_next").click(function(){ if(current_num==total_page){ return false;//如果大於總頁數就禁用下一頁 } else{ $("#"+tbodyId+"_current_page").text(++current_num);//點擊下一頁的時候當前頁數的值就加1 $.each($("#"+tbodyId+" tr"),function(index,item){ var start = current_page* (current_num-1);//起始範圍 var end = current_page * current_num;//結束範圍 if(index >= start && index < end){//如果索引值是在start和end之間的元素就顯示,否則就隱 $(this).show(); }else { $(this).hide(); } }); }});//上一頁方法$("#"+tbodyId+"_prev").unbind("click");$("#"+tbodyId+"_prev").click(function(){ if(current_num==1){ return false; }else{ $("#"+tbodyId+"_current_page").text(--current_num); $.each($("#"+tbodyId+" tr"),function(index,item){ var start = current_page* (current_num-1);//起始範圍 var end = current_page * current_num;//結束範圍 if(index >= start && index < end){//如果索引值是start和end之間的元素就顯示,否則就隱藏 $(this).show(); }else { $(this).hide(); } });}}) $("#"+pageDiv+"").show();}
頁面引用css和js,載入完成資料後,
function fillTabl(){ ...................... 資料填充............. .......................... pagiNation('maskPage','dialog-items',10); //傳入div的id,tbody的id,還有分頁數}
效果如下: