锘?** * 鍒嗛〉鎻掍欢 鏇挎崲涔嬪墠鐨刯query.pagination鎻掍欢 */ $(function ($) { var templates = { wrapper: '', prevBtn: '
  • ', nextBtn: '
  • ', muchBtn: '
  • ', indexSelector: '
  • {0}
  • ' }; /** * 鍒濆鍖栧垎椤电粍浠 */ var Ctor = function (options) { this._data = {}; }; Ctor.prototype = { /** * 鏋勫缓缁勪欢 * 璇ユ柟娉曚腑this瀵硅薄鎸囧悜缁勪欢鏈韩 */ init: function (_that) { //璋冪敤onInit with ({ _this: this }) { /*********** 缁勮 begin ***********/ var $wrapper = $(templates.wrapper), $body = "", $prevBtn = $(templates.prevBtn), $muchBtn = $(templates.muchBtn), $nextBtn = $(templates.nextBtn); /******椤垫暟鏄剧ず-寰呬紭鍖朾egin******/ var counts = 0; var endcounts = 1; var nmuchBtn = 1; var pageIndex = _that.pageIndex; var pageSize = Math.ceil(_that.sum / _that.size); if (pageSize <= 10) { for (var i = 1; i <= pageSize; i++) { if (i == pageIndex) { $body += templates.indexSelector.format(i, "class='active'"); } else { $body += templates.indexSelector.format(i); } } } else { //鏁伴噺搴炲ぇ-鍙兘鍑虹幇涓夋 var pageSize = Math.ceil(_that.sum / _that.size); //涓夋 if (pageIndex >= 7 && (pageSize - pageIndex) >= 6) { for (var i = 1; i <= 2; i++) { $body += templates.indexSelector.format(i); } $body += templates.muchBtn; for (var i = (pageIndex - 3) ; i <= (pageIndex + 3) ; i++) { if (i == pageIndex) { $body += templates.indexSelector.format(i, "class='active'"); } else { $body += templates.indexSelector.format(i); } } $body += templates.muchBtn; for (var i = pageSize - 1; i <= pageSize; i++) { $body += templates.indexSelector.format(i); } } else { if (pageIndex <= (pageSize / 2 + 1)) { for (var i = 1; i <= 9; i++) { if (i == pageIndex) { $body += templates.indexSelector.format(i, "class='active'"); } else { $body += templates.indexSelector.format(i); } } $body += templates.muchBtn; for (var i = pageSize - 1; i <= pageSize; i++) { if (i == pageIndex) { $body += templates.indexSelector.format(i, "class='active'"); } else { $body += templates.indexSelector.format(i); } } } else { for (var i = 1; i <= 2; i++) { if (i == pageIndex) { $body += templates.indexSelector.format(i, "class='active'"); } else { $body += templates.indexSelector.format(i); } } $body += templates.muchBtn; for (var i = pageSize - 8; i <= pageSize; i++) { if (i == pageIndex) { $body += templates.indexSelector.format(i, "class='active'"); } else { $body += templates.indexSelector.format(i); } } } } } /******椤垫暟鏄剧ず-寰呬紭鍖杄nd******/ $wrapper.append("
  • 鍏 " + _that.sum + " 鏉
  • ") .append($prevBtn) .append($body) .append($nextBtn); /*********** 缁勮 end ***********/ return $wrapper; } } }; $.pagination = function (parameters) { var _pagination; _pagination = new Ctor(); var pagess = _pagination.init(parameters); parameters.model.html(pagess); $(".pagination a").off('click').on('click', function () { var $this = $(this), $ul = $this.parents('ul.pagination'), $nav = $ul.parent(), href = location.href.toLowerCase(), pageIndex = 1, currentIndex = Math.ceil($ul.find('li.active').text()), ajaxLoadUrl = $nav.data('ajaxloadurl').toLowerCase(), targetId = $nav.data('targetid'), sum = $nav.data('sum'), size = $nav.data('size'); if ($this.is($('a.pageprevious'))) { if (currentIndex > 1) { pageIndex = currentIndex - 1; } } else if ($this.is($('a.pagenext'))) { if (currentIndex < Math.ceil(sum / size)) { pageIndex = currentIndex + 1; } else { pageIndex = currentIndex; } } if (targetId && ajaxLoadUrl) { if (window.tn_AjaxLoadUrl && window.tn_AjaxLoadUrl[ajaxLoadUrl]) { href = window.tn_AjaxLoadUrl[ajaxLoadUrl]; } else { href = ajaxLoadUrl; } if (!isNaN($(this).text())) { pageIndex = $(this).text(); } if (href.indexOf('pageindex=') > 0) { href = href.replace(/pageindex=[0-9]+/, "pageindex=" + pageIndex); href = href.replace(/&t=[0-9]+/, "&t=" + (new Date()).valueOf()); } else { href = href + (href.indexOf('?') > 0 ? "&" : "?") + "pageindex=" + pageIndex + "&t=" + (new Date()).valueOf(); } $('#' + targetId).load(href, function () { }); } else { if (!isNaN($(this).text())) { pageIndex = $(this).text(); } if (href.indexOf('pageindex=') > 0) { href = href.replace(/pageindex=[0-9]+/, "pageindex=" + pageIndex); } else { href = href + (href.indexOf('?') > 0 ? "&" : "?") + "pageindex=" + pageIndex; } window.location = href; } return false; }); } //return this; }); /************缈婚〉**************/ $(function ($) { var templates = { wrapper: '', prevBtn: '
  • Previous
  • ', nextBtn: '
  • Next
  • ', hiddenlab: '' }; var templates2 = { wrapper: '', prevBtn: '', nextBtn: '', hiddenlab: '' }; /** * 鍒濆鍖栧垎椤电粍浠 */ var Ctor = function (options) { this._data = {}; }; Ctor.prototype = { /** * 鏋勫缓缁勪欢 * 璇ユ柟娉曚腑this瀵硅薄鎸囧悜缁勪欢鏈韩 */ init: function (_that) { //璋冪敤onInit with ({ _this: this }) { var $wrapper = $(templates.wrapper) , $prevBtn = $(templates.prevBtn) , $nextBtn = $(templates.nextBtn) , $hiddenlab = $(templates.hiddenlab); if (Math.ceil(_that.sum / _that.size) == _that.pageIndex) { $wrapper .append($prevBtn) .append($hiddenlab) ; } else { $wrapper .append($prevBtn) .append($nextBtn) .append($hiddenlab) ; } //todo @wanglei 璧嬪綋鍓嶉〉鏁 $hiddenlab.val(_that.pageIndex) /*********** 缁勮 end ***********/ return $wrapper; } } }; $.pagination2 = function (parameters) { var _pagination2; _pagination2 = new Ctor(); var pagess = _pagination2.init(parameters); parameters.model.html(pagess); var indexsss = parameters.pageIndex; $(".pagination a").off('click').on('click', function () { var $this = $(this), $ul = $this.parents('ul.pagination'), $nav = $ul.parent(), href = location.href.toLowerCase(), pageIndex = 1, currentIndex = Math.ceil($(".hiddenlabindex").val()), ajaxLoadUrl = $nav.data('ajaxloadurl').toLowerCase(), targetId = $nav.data('targetid'), sum = $nav.data('sum'), size = $nav.data('size'); if ($this.is($('a.pageprevious'))) { if (currentIndex > 1) { pageIndex = currentIndex - 1; } } else if ($this.is($('a.pagenext'))) { if (currentIndex < Math.ceil(sum / size)) { pageIndex = currentIndex + 1; } else { pageIndex = currentIndex; } } if (targetId && ajaxLoadUrl) { if (window.tn_AjaxLoadUrl && window.tn_AjaxLoadUrl[ajaxLoadUrl]) { href = window.tn_AjaxLoadUrl[ajaxLoadUrl]; } else { href = ajaxLoadUrl; } if (!isNaN($(this).text())) { pageIndex = $(this).text(); } if (href.indexOf('pageindex=') > 0) { href = href.replace(/pageindex=[0-9]+/, "pageindex=" + pageIndex); href = href.replace(/&t=[0-9]+/, "&t=" + (new Date()).valueOf()); } else { href = href + (href.indexOf('?') > 0 ? "&" : "?") + "pageindex=" + pageIndex + "&t=" + (new Date()).valueOf(); } $('#' + targetId).load(href, function () { }); } else { if (!isNaN($(this).text())) { pageIndex = $(this).text(); } if (href.indexOf('pageindex=') > 0) { href = href.replace(/pageindex=[0-9]+/, "pageindex=" + pageIndex); } else { href = href + (href.indexOf('?') > 0 ? "&" : "?") + "pageindex=" + pageIndex; } window.location = href; } return false; }); } }); /************鐐瑰嚮鍔犺浇鏇村**************/ $(function ($) { var templates = { wrapper: '', nextBtn: '
  • 鐐瑰嚮鍔犺浇鏇村
  • ', hiddenlab: '' }; /** * 鍒濆鍖栧垎椤电粍浠 */ var Ctor = function (options) { this._data = {}; }; Ctor.prototype = { /** * 鏋勫缓缁勪欢 * 璇ユ柟娉曚腑this瀵硅薄鎸囧悜缁勪欢鏈韩 */ init: function (_that) { //璋冪敤onInit with ({ _this: this }) { var $wrapper = $(templates.wrapper) , $nextBtn = $(templates.nextBtn) , $hiddenlab = $(templates.hiddenlab); if (Math.ceil(_that.sum / _that.size) == _that.pageIndex) { $wrapper .append($hiddenlab) ; } else { $wrapper .append($nextBtn) .append($hiddenlab) ; } //todo @wanglei 璧嬪綋鍓嶉〉鏁 $hiddenlab.val(_that.pageIndex) /*********** 缁勮 end ***********/ return $wrapper; } } }; $.pagination3 = function (parameters) { var _pagination3; _pagination3 = new Ctor(); var pagess = _pagination3.init(parameters); parameters.model.html(pagess); var indexsss = parameters.pageIndex; $(".pagination a").off('click').on('click', function () { var $this = $(this), $ul = $this.parents('ul.pagination'), $nav = $ul.parent(), href = location.href.toLowerCase(), pageIndex = 1, currentIndex = Math.ceil($(".hiddenlabindex").val()), ajaxLoadUrl = $nav.data('ajaxloadurl').toLowerCase(), targetId = $nav.data('targetid'), sum = $nav.data('sum'), size = $nav.data('size'); if ($this.is($('a.pageprevious'))) { if (currentIndex > 1) { pageIndex = currentIndex - 1; } } else if ($this.is($('a.pagenext'))) { if (currentIndex < Math.ceil(sum / size)) { pageIndex = currentIndex + 1; $(".hiddenlabindex").val(pageIndex) } else { pageIndex = currentIndex; $(".hiddenlabindex").val(pageIndex) } } if (targetId && ajaxLoadUrl) { if (window.tn_AjaxLoadUrl && window.tn_AjaxLoadUrl[ajaxLoadUrl]) { href = window.tn_AjaxLoadUrl[ajaxLoadUrl]; } else { href = ajaxLoadUrl; } if (!isNaN($(this).text())) { pageIndex = $(this).text(); } if (href.indexOf('pageindex=') > 0) { href = href.replace(/pageindex=[0-9]+/, "pageindex=" + pageIndex); href = href.replace(/&t=[0-9]+/, "&t=" + (new Date()).valueOf()); } else { href = href + (href.indexOf('?') > 0 ? "&" : "?") + "pageindex=" + pageIndex + "&t=" + (new Date()).valueOf(); } var indexLoad = layer.load(1, { shade: [0.1, '#fff'] //0.1閫忔槑搴︾殑鐧借壊鑳屾櫙 }); $.get(href, function (data) { layer.close(indexLoad); $('ul.pagination').remove(); $('#' + targetId).append(data); }) } else { if (!isNaN($(this).text())) { pageIndex = $(this).text(); } if (href.indexOf('pageindex=') > 0) { href = href.replace(/pageindex=[0-9]+/, "pageindex=" + pageIndex); } else { href = href + (href.indexOf('?') > 0 ? "&" : "?") + "pageindex=" + pageIndex; } window.location = href; } return false; }); } }); $(function ($) { /**鑾峰彇鍙傛暟锛 id:-----id 绫诲瀷锛堝垎椤电瓑锛堹----mode 椤垫暟:-----sum 鎬绘暟锛堟€绘潯鐩暟锛堹----pages 鏄惁寮傛:----najax 鍦板潃:----action 褰撳墠椤垫暟:----size 椋庢牸:----style **/ $.initialization = function (page, size) { var pages; for (var i = 0; i < page.length; i++) { pages = page[i]; if ($(pages).data("size") > 0) { size = $(pages).data("size"); } var parameters = { targetId: $(pages).data("targetid"), mode: $(pages).data("mode"), pages: $(pages), style: $(pages).data("style"), sum: $(pages).data("sum"), ajaxLoadUrl: $(pages).data("ajaxloadurl"), size: parseFloat(size), pageIndex: parseFloat($(pages).data("pageindex")), model: page }; //todo @wanglei 鍒ゆ柇鍒嗛〉妯″紡 if (parameters.mode == "NextLoadMore") { $.pagination3(parameters) } else { $.pagination(parameters) } } } }); $(document).ready(function () { $("[data-plugin='page']").livequery(function () { var $this = $(this), loadUrl = $this.data('ajaxloadurl').toLowerCase(); if (!window.tn_AjaxLoadUrl) { window.tn_AjaxLoadUrl = {}; } if (!window.tn_AjaxLoadUrl[loadUrl]) { window.tn_AjaxLoadUrl[loadUrl] = ''; } $.initialization($this, 1); $($.fn.checkActive); }); $(document).ajaxComplete(function (event, xhr, options) { var url = options.url.toLowerCase(); if (url && window.tn_AjaxLoadUrl) { for (var key in window.tn_AjaxLoadUrl) { if (url.indexOf(key) > -1) { window.tn_AjaxLoadUrl[key] = url.toLowerCase(); break; } } } }); });