jQuery實現(xiàn)偽分頁的方法分享
本文實例講述了jQuery實現(xiàn)偽分頁的方法。分享給大家供大家參考,具體如下:
可以對表格數(shù)據(jù)進行偽分頁,而且只需要執(zhí)行簡單的代碼就可以實現(xiàn)。
實現(xiàn)的很簡單、樣式也不太好看,大家可以自行調(diào)整,糾正。
下面是一個table,tbody里加載tr數(shù)據(jù),無論你怎么加載,
在數(shù)據(jù)加載完成后便可以對table數(shù)據(jù)進行偽分頁、注意div引用的class,我填充的數(shù)據(jù)是四列的,所以td里加了colspan,div是分頁顯示區(qū)域
<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:用于顯示分頁數(shù)據(jù)的div tbodyId :tbody的ID,pageSize,分頁數(shù)目
function pagiNation(pageDiv,tbodyId,pageSize){
$("#"+tbodyId+" tr:gt("+(pageSize-1)+")").hide();//初始化,前面pageSize-1條數(shù)據(jù)顯示,其他的數(shù)據(jù)隱藏。
var total_q=$("#"+tbodyId+" tr").length;//總數(shù)據(jù)
var current_page=pageSize;//每頁顯示的數(shù)據(jù)
var current_num=1;//當前頁數(shù)
var total_page= Math.ceil(parseFloat(total_q)/parseFloat(current_page));//總頁數(shù)
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("");//顯示總頁數(shù)
$("#"+tbodyId+"_total").text(total_page);//顯示總頁數(shù)
$("#"+tbodyId+"_current_page").text("");//當前的頁數(shù)
$("#"+tbodyId+"_current_page").text(current_num);//當前的頁數(shù)
//下一頁
$("#"+tbodyId+"_next").unbind("click");
$("#"+tbodyId+"_next").click(function(){
if(current_num==total_page){
return false;//如果大于總頁數(shù)就禁用下一頁
}
else{
$("#"+tbodyId+"_current_page").text(++current_num);//點擊下一頁的時候當前頁數(shù)的值就加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,加載完成數(shù)據(jù)后,
function fillTabl(){
......................
數(shù)據(jù)填充.............
..........................
pagiNation('maskPage','dialog-items',10); //傳入div的id,tbody的id,還有分頁數(shù)
}
效果如下:

更多關于jQuery相關內(nèi)容感興趣的讀者可查看本站專題:《jQuery擴展技巧總結》、《jQuery常見經(jīng)典特效匯總》、《jQuery常用插件及用法總結》、《jquery中Ajax用法總結》及《jquery常用操作技巧匯總》
希望本文所述對大家jQuery程序設計有所幫助。
相關文章
使用FlexiGrid實現(xiàn)Extjs表格效果方法分享
這篇文章主要分享了使用FlexiGrid實現(xiàn)Extjs表格效果方法,非常的實用,這里推薦給有相同需求的小伙伴2014-12-12
jquery實現(xiàn)帶單選按鈕的表格行選中時高亮顯示
如果將選中的這條記錄的行高亮顯示,同時該行的單選按鈕也被選中了,這樣會提高用戶的體驗的,于是本文下了個示例,有需要的朋友可以參考下2013-08-08
解決用jquery load加載頁面到div時,不執(zhí)行頁面js的問題
這篇文章主要介紹了解決用jquery load加載頁面到div時,不執(zhí)行頁面js的問題。需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02
jQuery中借助deferred來請求及判斷AJAX加載的實例講解
deferred對象的延遲功能對jQuery的ajax操作是一個很大的幫助,尤其是回調(diào)控制,下面我們就來看一下對jQuery中借助deferred來請求及判斷AJAX加載的實例講解2016-05-05

