Rev 43 | Rev 119 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!function($){$.fn.paginate=function(options){var defaults={paginateElement:"li",hashPage:"page",elementsPerPage:10,effect:"default",slideOffset:200,firstButton:!0,firstButtonText:"<<",lastButton:!0,lastButtonText:">>",prevButton:!0,prevButtonText:"<",nextButton:!0,nextButtonText:">",extraButtonClasses:""};return this.each(function(){"undefined"==typeof plugin?(plugin={},newPlugin=!0):newPlugin=!1,newPlugin&&(plugin.el=$(this),plugin.el.addClass("paginateList"),plugin.settings={pages:0,objElements:Object,currentPage:1});var getNbOfPages=function(){return Math.ceil(plugin.objElements.length/plugin.settings.elementsPerPage)},displayNav=function(){for(htmlNav='<div class="paginateNav text-center'+(plugin.settings.pages<=1?" invisible":"")+'">',plugin.settings.firstButton&&(htmlNav+='<a href="#'+plugin.settings.hashPage+':1" title="First page" rel="1" class="first mr-1 '+plugin.settings.extraButtonClasses+'">'+plugin.settings.firstButtonText+"</a>"),plugin.settings.prevButton&&(htmlNav+='<a href="" title="Previou
s" rel="" class="prev mr-1 '+plugin.settings.extraButtonClasses+'">'+plugin.settings.prevButtonText+"</a>"),i=1;i<=plugin.settings.pages;i++)htmlNav+='<a href="#'+plugin.settings.hashPage+":"+i+'" title="Page '+i+'" rel="'+i+'" class="page mx-1 '+plugin.settings.extraButtonClasses+'">'+i+"</a>";plugin.settings.nextButton&&(htmlNav+='<a href="" title="Next" rel="" class="next ml-1 '+plugin.settings.extraButtonClasses+'">'+plugin.settings.nextButtonText+"</a>"),plugin.settings.lastButton&&(htmlNav+='<a href="#'+plugin.settings.hashPage+":"+plugin.settings.pages+'" title="Last page" rel="'+plugin.settings.pages+'" class="last ml-1 '+plugin.settings.extraButtonClasses+'">'+plugin.settings.lastButtonText+"</a>"),htmlNav+="</div>",plugin.nav=$(htmlNav),plugin.nav.css({width:plugin.el.width()}),plugin.el.after(plugin.nav);var e="#"+plugin.el.get(0).id+" + ";$(e+" .paginateNav a.page,"+e+" .paginateNav a.first,"+e+" .paginateNav a.last").on("click",function(e){e.preventDefault(),displayPage($(this).attr("rel"))}),$(
e+" .paginateNav a.prev").on("click",function(e){e.preventDefault(),page=plugin.settings.currentPage>1?parseInt(plugin.settings.currentPage)-1:1,displayPage(page)}),$(e+" .paginateNav a.next").on("click",function(e){e.preventDefault(),page=plugin.settings.currentPage<plugin.settings.pages?parseInt(plugin.settings.currentPage)+1:plugin.settings.pages,displayPage(page)})},displayPage=function(page,forceEffect){switch(plugin.settings.currentPage=parseInt(page),offsetStart=(page-1)*plugin.settings.elementsPerPage,offsetEnd=page*plugin.settings.elementsPerPage,"undefined"!=typeof forceEffect?eval("transition_"+forceEffect+"("+offsetStart+", "+offsetEnd+")"):eval("transition_"+plugin.settings.effect+"("+offsetStart+", "+offsetEnd+")"),void 0!==plugin.nav&&(plugin.nav.find(".current").removeClass("current"),plugin.nav.find("a.page:eq("+(page-1)+")").addClass("current")),plugin.settings.currentPage){case 1:$(".paginateNav a",plugin).removeClass("disabled"),$(".paginateNav a.first, .paginateNav a.prev",plugin).addCla
ss("disabled");break;case plugin.settings.pages:$(".paginateNav a",plugin).removeClass("disabled"),$(".paginateNav a.last, .paginateNav a.next",plugin).addClass("disabled");break;default:$(".paginateNav a",plugin).removeClass("disabled")}},transition_default=function(e,t){plugin.currentElements.hide(),plugin.currentElements=plugin.objElements.slice(e,t).clone(),plugin.el.html(plugin.currentElements),plugin.currentElements.show()},transition_fade=function(e,t){plugin.currentElements.fadeOut(),plugin.currentElements=plugin.objElements.slice(e,t).clone(),plugin.el.html(plugin.currentElements),plugin.currentElements.fadeIn()},transition_slide=function(e,t){plugin.currentElements.animate({"margin-left":-1*plugin.settings.slideOffset,opacity:0},function(){$(this).remove()}),plugin.currentElements=plugin.objElements.slice(e,t).clone(),plugin.currentElements.css({"margin-left":plugin.settings.slideOffset,display:"block",opacity:0,"min-width":plugin.el.width()/2}),plugin.el.html(plugin.currentElements),plugin.current
Elements.animate({"margin-left":0,opacity:1})},transition_climb=function(e,t){plugin.currentElements.each(function(e){var t=$(this);setTimeout(function(){t.animate({"margin-left":-1*plugin.settings.slideOffset,opacity:0},function(){$(this).remove()})},200*e)}),plugin.currentElements=plugin.objElements.slice(e,t).clone(),plugin.currentElements.css({"margin-left":plugin.settings.slideOffset,display:"block",opacity:0,"min-width":plugin.el.width()/2}),plugin.el.html(plugin.currentElements),plugin.currentElements.each(function(e){var t=$(this);setTimeout(function(){t.animate({"margin-left":0,opacity:1})},200*e)})};plugin.settings=$.extend({},defaults,options),plugin.currentElements=$([]),newPlugin?plugin.objElements=plugin.el.find(plugin.settings.paginateElement):$(".paginateNav").remove(),plugin.settings.pages=getNbOfPages(),plugin.el.html(),displayNav(),page=1,-1!=document.location.hash.indexOf("#"+plugin.settings.hashPage+":")&&(page=parseInt(document.location.hash.replace("#"+plugin.settings.hashPage+":",""))
,(page.length<=0||page<1||page>plugin.settings.pages)&&(page=1)),displayPage(page,"default")})}}(jQuery);