/** * @version: v1.8 * @author: xgc-whj * @date: 2019-05-29 00:00:00 * @license: MIT license release * @jq22 address: http://www.jq22.com/jquery-info17548 * @GitHub: https://github.com/w0624/jquery-pagination * @description: jQuery分页插件,可自定义样式,默认有五套样式,可自定义插件选项,简单方便,兼容IE8 */ (function() { $.fn.extend({ whjPaging: function(b, r) { var g = $(this); if (b === "getPage") { return { totalSize: g.get(0).pageText.totalSize, currPage: g.get(0).pageText.staticCurrPage, pageSize: g.get(0).pageText.staticPageSize, totalPage: g.get(0).pageText.staticTotalPage } } else { if (b === "setPage") { g.get(0).pageText.currPage = r.currPage != null ? r.currPage : null; g.get(0).pageText.totalPage = r.totalPage != null ? r.totalPage : null; g.get(0).pageText.totalSize = r.totalSize != null ? r.totalSize : null; if (g.get(0).pageText.isShowPageSizeOpt) { c() } } else { if (b != null) { var o = [{ value: 8, text: "8条/页", selected: true }, { value: 16, text: "16条/页" },{ value: 32, text: "32条/页" }]; if (b.pageSizeOpt != null) { o = b.pageSizeOpt } var s = o[0].value; var x = o.length; for (var m = 0; m < x; m++) { if (o[m].selected) { s = o[m].value; break } if (m + 1 == x) { o[0].selected = true } } var d = "whj_jqueryPaginationCss-1"; if (b.css != null) { switch (b.css) { case "css-1": d = "whj_jqueryPaginationCss-1"; break; case "css-2": d = "whj_jqueryPaginationCss-2"; break; case "css-3": d = "whj_jqueryPaginationCss-3"; break; case "css-4": d = "whj_jqueryPaginationCss-4"; break; case "css-5": d = "whj_jqueryPaginationCss-5"; break; default: d = b.css; break } } g.get(0).pageText = { css: d, pageSizeOpt: o, totalPage: b.totalPage != null ? b.totalPage : null, showPageNum: b.showPageNum != null ? b.showPageNum : 5, firstPage: b.firstPage != null ? b.firstPage : "首页", previousPage: b.previousPage != null ? b.previousPage : "上一页", nextPage: b.nextPage != null ? b.nextPage : "下一页", lastPage: b.lastPage != null ? b.lastPage : "尾页", skip: b.skip != null ? b.skip : "跳至", // confirm: b.confirm != null ? b.confirm : "确认", // refresh: b.refresh != null ? b.refresh : "刷新", totalPageText: b.totalPageText != null ? b.totalPageText : "共{}页", isShowFL: b.isShowFL === false ? false : true, isShowPageSizeOpt: b.isShowPageSizeOpt === false ? false : true, isShowSkip: b.isShowSkip === false ? false : true, isShowRefresh: b.isShowRefresh === false ? false : true, isShowTotalPage: b.isShowTotalPage === false ? false : true, isResetPage: b.isResetPage === true ? true : false, callBack: b.callBack, currPage: 1, pageSize: b.isShowPageSizeOpt === false ? null : s, totalSize: b.totalSize != null ? b.totalSize : null, isShowTotalSize: b.isShowTotalSize === false ? false : true, totalSizeText: b.totalSizeText != null ? b.totalSizeText : "共{}条数据" } } } } if (g.get(0).pageText.totalPage == null || g.get(0).pageText.totalPage < 1) { g.empty(); return } if (g.get(0).pageText.currPage < 1) { g.get(0).pageText.currPage = 1 } else { if (g.get(0).pageText.currPage > g.get(0).pageText.totalPage) { g.get(0).pageText.currPage = g.get(0).pageText.totalPage } } g.get(0).pageText.staticCurrPage = g.get(0).pageText.currPage; g.get(0).pageText.staticPageSize = g.get(0).pageText.pageSize; g.get(0).pageText.staticTotalPage = g.get(0).pageText.totalPage; var h = g.get(0).pageText.currPage < 2 ? "whj_hoverDisable" : "whj_hover"; var e = g.get(0).pageText.currPage >= g.get(0).pageText.totalPage ? "whj_hoverDisable" : "whj_hover"; var q = 0; var f = 0; var y = parseInt(g.get(0).pageText.showPageNum / 2); if (g.get(0).pageText.showPageNum < 2) { f = g.get(0).pageText.currPage } else { if (g.get(0).pageText.totalPage <= g.get(0).pageText.showPageNum) { f = 1 } else { if (g.get(0).pageText.currPage + y > g.get(0).pageText.totalPage) { f = g.get(0).pageText.totalPage - g.get(0).pageText.showPageNum + 1 } else { if (g.get(0).pageText.currPage - y < 1) { f = 1 } else { f = g.get(0).pageText.currPage - y } } } } var t = '
'; if (g.get(0).pageText.isShowFL) { t += '
' + g .get(0).pageText.firstPage + "
" } t += '
' + g .get(0).pageText.previousPage + "
"; if (g.get(0).pageText.showPageNum > 0) { for (var n = f; n <= g.get(0).pageText.totalPage; n++) { q++; var v = g.get(0).pageText.currPage == n ? "whj_checked" : "whj_hover"; t += '
' + n + "
"; if (q >= g.get(0).pageText.showPageNum) { break } } } t += '
' + g.get(0) .pageText.nextPage + "
"; if (g.get(0).pageText.isShowFL) { t += '
' + g .get(0).pageText.lastPage + "
" } if (g.get(0).pageText.isShowPageSizeOpt) { t += '" } // if (g.get(0).pageText.isShowSkip) { // t += '
' + g.get(0).pageText.skip + // '
' + // g.get(0).pageText.confirm + "
" // } // if (g.get(0).pageText.isShowRefresh) { // t += '
' + g // .get(0).pageText.refresh + "
" // } if (g.get(0).pageText.isShowTotalPage) { var p = g.get(0).pageText.totalPageText.replace("{}", g.get(0).pageText.totalPage); t += '
' + p + "
" } if (g.get(0).pageText.isShowTotalSize) { var a = g.get(0).pageText.isShowTotalPage ? "whj_totalSizeSingle" : ""; var l = g.get(0).pageText.totalSizeText.replace("{}", g.get(0).pageText.totalSize); t += '
' + l + "
" } t += "
"; g.html(t); if (g.get(0).pageText.isShowFL) { if (h == "whj_hover") { g.find("div[name='whj_firstPage']").click(function() { if (g.get(0).pageText.isResetPage) { g.get(0).pageText.pageSize = g.get(0).pageText.staticPageSize } g.get(0).pageText.currPage = 1; u() }) } if (e == "whj_hover") { g.find("div[name='whj_lastPage']").click(function() { if (g.get(0).pageText.isResetPage) { g.get(0).pageText.pageSize = g.get(0).pageText.staticPageSize; g.get(0).pageText.currPage = g.get(0).pageText.staticTotalPage } else { g.get(0).pageText.currPage = g.get(0).pageText.totalPage } u() }) } } if (h == "whj_hover") { g.find("div[name='whj_previousPage']").click(function() { if (g.get(0).pageText.isResetPage) { g.get(0).pageText.pageSize = g.get(0).pageText.staticPageSize; g.get(0).pageText.currPage = g.get(0).pageText.staticCurrPage - 1 } else { g.get(0).pageText.currPage = g.get(0).pageText.currPage - 1 } u() }) } if (e == "whj_hover") { g.find("div[name='whj_nextPage']").click(function() { if (g.get(0).pageText.isResetPage) { g.get(0).pageText.pageSize = g.get(0).pageText.staticPageSize; g.get(0).pageText.currPage = g.get(0).pageText.staticCurrPage + 1 } else { g.get(0).pageText.currPage = g.get(0).pageText.currPage + 1 } u() }) } if (g.find("div[name='whj_page']").length > 0) { g.find("div[name='whj_page']").click(function() { if (!$(this).hasClass("whj_checked")) { if (g.get(0).pageText.isResetPage) { g.get(0).pageText.pageSize = g.get(0).pageText.staticPageSize } g.get(0).pageText.currPage = +$(this).data("page"); u() } }) } if (g.get(0).pageText.isShowPageSizeOpt) { g.find("select[name='whj_pageSize']").change(function() { var i = +$(this).val(); if (g.get(0).pageText.isResetPage) { $(this).find("option[value='" + g.get(0).pageText.staticPageSize + "']") .prop("selected", true) } var k = parseInt(g.get(0).pageText.totalSize / i); if (k * i < g.get(0).pageText.totalSize) { k++ } g.get(0).pageText.currPage = 1; g.get(0).pageText.pageSize = i; g.get(0).pageText.totalPage = k; if (!g.get(0).pageText.isResetPage) { c() } u() }) } if (g.get(0).pageText.isShowSkip) { g.find("input[name='whj_toPage']").on("input", function() { var k = $(this).val(); var i = $(this).val().replace(/\D/g, ""); if (k.length != i.length) { $(this).val(i) } }); g.find("div[name='whj_confirm']").click(function() { var i = g.find("input[name='whj_toPage']").val(); if (i.length > 0) { i = +i; if (i < 1) { i = 1 } else { if (i > g.get(0).pageText.totalPage) { i = g.get(0).pageText.totalPage } } if (g.get(0).pageText.isResetPage) { g.get(0).pageText.pageSize = g.get(0).pageText.staticPageSize } g.get(0).pageText.currPage = i; u() } }) } if (g.get(0).pageText.isShowRefresh) { g.find("div[name='whj_refresh']").click(function() { if (g.get(0).pageText.isResetPage) { g.get(0).pageText.pageSize = g.get(0).pageText.staticPageSize; g.get(0).pageText.currPage = g.get(0).pageText.staticCurrPage } u() }) } function u() { if (!g.get(0).pageText.isResetPage) { g.whjPaging() } g.get(0).pageText.callBack(g.get(0).pageText.currPage, g.get(0).pageText.pageSize) } function c() { var k = []; var z = g.get(0).pageText.pageSizeOpt; for (var i in z) { if (z[i].value == g.get(0).pageText.pageSize) { k.push({ value: z[i].value, text: z[i].text, selected: true }) } else { k.push({ value: z[i].value, text: z[i].text }) } } g.get(0).pageText.pageSizeOpt = k } } }) })();