以前寫的分頁用了好久了,但是分頁時除了傳頁面外有時還要傳一些其它參數,以前操作時要把傳的參數放到隱藏hidden中,分頁時在取出來,這樣比較麻煩,今天無事,重新包裝了一下
直接上代碼吧
css用了bootstrap中分頁的樣式
.pagination-lg > li:first-child > a,.pagination-lg > li:first-child > span {border-bottom-left-radius: 6px;border-top-left-radius: 6px;}.pagination-lg > li:last-child > a,.pagination-lg > li:last-child > span {border-top-right-radius: 6px;border-bottom-right-radius: 6px;}.pagination-sm > li > a,.pagination-sm > li > span {padding: 5px 10px;font-size: 12px;}.pagination-sm > li:first-child > a,.pagination-sm > li:first-child > span {border-bottom-left-radius: 3px;border-top-left-radius: 3px;}.pagination-sm > li:last-child > a,.pagination-sm > li:last-child > span {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}.sr-only {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0;}
分頁代碼:
(function ($) {var PageFunc = function PageFunc() { }$.PageFunc = function (Total, PageSize, curPageNum, FunUrl,paramStr) {if (PageSize == "" || PageSize == null || PageSize == undefined) {PageSize = 10;}if (curPageNum == "" || curPageNum == null || curPageNum == undefined) {curPageNum = 1;}var hasParam=true;if (paramStr == "" || paramStr == null || paramStr == undefined) {hasParam = false;}//計算總頁數Total = parseInt(Total); //總記錄數PageSize = parseInt(PageSize); //每頁顯示數curPageNum = parseInt(curPageNum); //當前頁//總頁數var AllPage = Math.floor(Total / PageSize);if (Total % PageSize != 0) {AllPage++;}var navHtml = "<ul style='margin:0 0 0 0;' class='pagination'>";if (curPageNum <= 0)curPageNum = 1;if (AllPage > 1) {if (curPageNum != 1) {//處理首頁連接 var home=1;if(hasParam){home=home+","+paramStr;}navHtml += "<li><a href='javascript:" + FunUrl + "("+home+")' >|<</a></li>";}if (curPageNum > 1) {var previous=parseInt(parseInt(curPageNum) - 1);if(hasParam){previous=previous+","+paramStr;}//處理上一頁的連接 navHtml += "<li><a href='javascript:"+FunUrl+"("+previous+")' ><<</a></li>";}else {navHtml += "<li class='disabled'><a><<</a></li>";}var currint = 5;for (var i = 0; i <= 10; i++) {//一共最多顯示10個頁碼,前面5個,后面5個 if ((curPageNum + i - currint) >= 1 && (curPageNum + i - currint) <= AllPage)if (currint == i) {//當前頁處理 navHtml += "<li class='active'><a>" + curPageNum + "<span class='sr-only'>(current)</span></a></li>";}else {//一般頁處理 var n = parseInt(parseInt(curPageNum) + parseInt(i) - parseInt(currint));var nstr=n;if(hasParam){nstr=nstr+","+paramStr;}navHtml += "<li><a href='javascript:" + FunUrl + "("+nstr+")'>" + n + "</a></li>";}}if (curPageNum < AllPage) {//處理下一頁的鏈接 var next=parseInt(parseInt(curPageNum) + 1);if(hasParam){next=next+","+paramStr;}navHtml += "<li><a href='javascript:" + FunUrl + "("+next+")'>>></a></li>";}else {navHtml += "<li class='disabled'><a>>></a></li>";}if (curPageNum != AllPage) {var last=parseInt(AllPage);if(hasParam){last=last+","+paramStr;}navHtml += "<li><a href='javascript:" + FunUrl + "("+last+")' >>|</a></li>";}}if(parseInt(AllPage)!=0){navHtml += "<li><a>" + curPageNum + "/" + AllPage + "</a></li> ";}navHtml+="</ul>";return navHtml;};})(jQuery);
調用方法:
注意:第一參數一定要是當前頁的值啊
function aa(curpage,param1,param2){if (curpage == "" || curpage == null || curpage == undefined) {curpage = 1;}var pagesize = 5;var paramStr="";paramStr=param1+","+param2+";$.post("/appdefult/apporder",{"categoryId":param1,"name":param2,"curpage":curpage,"pagesize":pagesize},function(mydata){ var pageHtml= $.PageFunc(mydata.total, pagesize, curpage, "aa",paramStr);$(".page").html(pageHtml);},"json");}
新聞熱點
疑難解答