この記事の例では、jQuery が疑似ページングを実装する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
テーブル データに対して疑似ページングを実行できます。これを実現するには、単純なコードを実行するだけです。
実装は非常に簡単ですが、スタイルはあまり見栄えが良くありませんが、自分で調整したり修正したりできます。
以下はテーブルです。ロード方法に関係なく、tr データは tbody にロードされます。
データがロードされた後、テーブル データに対して疑似ページングを実行できます。div によって参照されるクラスに注目してください。入力したデータは 4 列であるため、td に Colspan が追加されます。ページング表示領域
<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,还有分页数 }
効果は次のとおりです:
さらに jQuery 関連のコンテンツに興味がある読者は、このサイトの特別トピックをチェックしてください: 「JQuery 拡張スキルの概要」、「jQuery の一般的な古典的な特殊効果の概要」 、「jQuery の一般的なプラグインと使い方のまとめ」、「jquery での Ajax の使い方まとめ」、「jQuery の一般的な操作スキルのまとめ」
この記事が jQuery プログラミングのすべての人に役立つことを願っています。