From 3a9ade3eff52b4032eef79036c7cb67f44803cf4 Mon Sep 17 00:00:00 2001 From: JPeer264 Date: Tue, 2 Jul 2019 10:00:29 +0200 Subject: [PATCH] Feat: stay center --- lib/jquery.bootpag.js | 21 ++++++++++++++++++--- lib/jquery.bootpag.min.js | 15 +++++++++------ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/lib/jquery.bootpag.js b/lib/jquery.bootpag.js index 9d89046..6bb34e3 100644 --- a/lib/jquery.bootpag.js +++ b/lib/jquery.bootpag.js @@ -36,7 +36,8 @@ nextClass: 'next', prevClass: 'prev', lastClass: 'last', - firstClass: 'first' + firstClass: 'first', + stayCenter: false }, $owner.data('settings') || {}, options || {}); @@ -107,10 +108,24 @@ settings.prevClass, settings.firstClass, settings.lastClass].join(",."); - if(!$currPage.not(clist).length){ + if (!$currPage.not(clist).length || settings.stayCenter) { var d = page <= vis ? -settings.maxVisible : 0; - $page.not(clist).each(function(index){ + $page.not(clist).each(function (index) { lp = index + 1 + vis + d; + var lpMiddleIndex = middleIndex + 1 + vis + d; + var test = (page - lpMiddleIndex) - (middleIndex - index) + 1; + + if (index === 0) { + d = test; + var tempLp = index + 1 + vis + d; + + if (tempLp <= 0 || tempLp >= settings.total - 1) { + d = page <= vis ? -settings.maxVisible : 0; + } + + lp = index + 1 + vis + d; + } + $(this) .attr('data-lp', lp) .toggle(lp <= settings.total) diff --git a/lib/jquery.bootpag.min.js b/lib/jquery.bootpag.min.js index 324b1a3..8f942c4 100644 --- a/lib/jquery.bootpag.min.js +++ b/lib/jquery.bootpag.min.js @@ -13,9 +13,12 @@ Version: 1.0.7 */ -(function(h,q){h.fn.bootpag=function(p){function m(c,b){b=parseInt(b,10);var d,e=0==a.maxVisible?1:a.maxVisible,k=1==a.maxVisible?0:1,n=Math.floor((b-1)/e)*e,f=c.find("li");a.page=b=0>b?0:b>a.total?a.total:b;f.removeClass(a.activeClass);d=1>b-1?1:a.leaps&&b-1>=a.maxVisible?Math.floor((b-1)/e)*e:b-1;a.firstLastUse&&f.first().toggleClass(a.disabledClass,1===b);e=f.first();a.firstLastUse&&(e=e.next());e.toggleClass(a.disabledClass,1===b).attr("data-lp",d).find("a").attr("href",g(d));k=1==a.maxVisible? -0:1;d=b+1>a.total?a.total:a.leaps&&b+1