; $(function() { var method = null; var maxpage = null; var pagesize = 10; var shownum = 10; /* * 动态分页控件 * queryMethod 为页面的查询方法,此方法必须要接收两个参数 page,pageSize 如method(page,pageSize); */ jQuery.solrpagination = function(solrBook, callMethod) { method = callMethod; var total = solrBook.foundnum; var currentpage = solrBook.page; pagesize = solrBook.pagesize; var totalpage = (total % pagesize == 0 ? total / pagesize : parseInt(total / pagesize) + 1); maxpage = totalpage; $(".paging-box .num").html("共计:" + total + "条" + "/" + totalpage + "页"); var pageHtml = ""; if (currentpage > 1) { pageHtml += "上一页"; $(".box-code-jump").show(); }else{ pageHtml += "上一页"; $(".box-code-jump").hide(); } /* 小于10页 不加省略号*/ if (totalpage < (shownum + 2)) { for (var i = 0; i < totalpage; i++) { if ((i + 1) == currentpage) { pageHtml += "" + (i + 1) + ""; } else { pageHtml += "" + (i + 1) + ""; } } } else { var curshownum = 0; for (var i = 0; i < totalpage; i++) { if (currentpage <= (shownum - 3)) { if ((i + 1) == currentpage) { pageHtml += "" + (i + 1) + ""; } else { pageHtml += "" + (i + 1) + ""; if ((i + 1) == shownum) { pageHtml += "..."; i = totalpage - 2; } } }else if (currentpage >= (totalpage - shownum + 3)) { if ((i + 1) == currentpage) { pageHtml += "" + (i + 1) + ""; } else { pageHtml += "" + (i + 1) + ""; if ((i + 1) == 2) { pageHtml += "..."; i = totalpage - shownum; } } }else { if(curshownum <= shownum){ if ((i + 1) == currentpage) { pageHtml += "" + (i + 1) + ""; curshownum +=1; } else { pageHtml += "" + (i + 1) + ""; if ((i + 1) == 2) { pageHtml += "..."; i = currentpage - 4; } if ((i + 1) == currentpage + 2) { pageHtml += "..."; i = totalpage - 2; } curshownum +=1; } }else{ if(i == (totalpage - 2)){ pageHtml += "..."; pageHtml += "" + totalpage + ""; } } } } } if (currentpage < totalpage) { $(".box-code-jump").show(); pageHtml += "下一页"; }else{ pageHtml += "下一页"; } $(".paging-box-code div").html(pageHtml); /*点击上一页*/ $(".paging-box-code .prevPage").on("click", function() { var prevpage = parseInt($(".paging-box-code .current").html()) - 1; if (prevpage >= 1) { var func = eval(method); new func(prevpage,pagesize); } return false; }); /*点击下一页*/ $(".paging-box-code .nextPage").on("click", function() { var nextpage = parseInt($(".paging-box-code .current").html()) + 1; if (nextpage <= maxpage) { var func = eval(method); new func(nextpage,pagesize); } return false; }); /*点击某一页*/ $(".paging-box-code .tcdNumber").on("click",function(){ var clickpage = parseInt($(this).html()); if (clickpage >=1 && clickpage <= maxpage) { var func = eval(method); new func(clickpage,pagesize); } return false; }); /*点击...事件 */ $(".paging-box-code .predoc").on("click",function(){ var page = parseInt($(this).next().html()) - 8; if (page >=1 && page <= maxpage) { var func = eval(method); new func(page,pagesize); } return false; }); /*点击...事件 */ $(".paging-box-code .sufdoc").on("click",function(){ var page = parseInt($(this).prev().html()) + 4; if (page >=1 && page <= maxpage) { var func = eval(method); new func(page,pagesize); } return false; }); /* 跳转到某一页*/ $(".paging-box-code .turn").off("click").on("click",function(){ var turnpage = $(".paging-box-code input").val(); if(turnpage==null || $.trim(turnpage)=="" || isNaN(turnpage)){ return; }else{ var num = parseInt(turnpage); if(num>maxpage){ num = maxpage; } if(num<1){ num = 1; } $(".paging-box-code input").val(num); var func = eval(method); new func(num,pagesize); } return false; }); /* 回车按键响应 */ $(".paging-box-code input").off("keydown").on("keydown",function(e){ if(e.keyCode==13){ $(".paging-box-code .turn").trigger("click"); } }); }; });