/* *page plugin 1.0 2016-09-29 by cary */ (function ($) { //濮掓稒枪椤撳宕i崒娑欐 var defaults = { totalPages: 9,//闁诡剙顭烽妴澶愬极閿燂拷 liNums: 9,//闁告帒妫濋妴澶愭儍閸曨剚娈堕悗娑欘殕鐎垫粓鏌﹂鑺ユ(鐎点倝缂氶鍛村矗閺嵮屾疄闁轰緤鎷? activeClass: 'active' ,//active缂侇偓鎷 firstPage: '',//濡絾鐗犻妴澶愬箰婢舵劖灏﹂柛姘Ф琚 lastPage: '',//闁哄牜鍋婇妴澶愬箰婢舵劖灏﹂柛姘Ф琚 prv: '',//闁告挸绉崇粩瀛樸亜閸偄鐦婚梺绛嬪枛閹洜绮旈敓锟 next: '',//闁告艾绨肩粩瀛樸亜閸偄鐦婚梺绛嬪枛閹洜绮旈敓锟 hasFirstPage: true,//闁哄嫷鍨伴幆渚€寮垫径鎰垫禃濡炪倕鐏氱€垫粓鏌﹂敓锟 hasLastPage: true,//闁哄嫷鍨伴幆渚€寮垫径瀣睘濡炪倕鐏氱€垫粓鏌﹂敓锟 hasPrv: true,//闁哄嫷鍨伴幆渚€寮垫径濠傤枀濞戞挴鍋撳銈呯仛鐎垫粓鏌﹂敓锟 hasNext: true,//闁哄嫷鍨伴幆渚€寮垫径濠冨€靛☉鎾亾濡炪倕鐏氱€垫粓鏌﹂敓锟 callBack : function(page){ //闁搞儳鍋炵敮鈧柨娑橆唹age闂侇偄顦懙鎴炪亜閸偅娈 } }; //闁圭粯甯婂▎銏ゅ触瀹ュ泦锟 $.fn.Page = function (options) { //閻熸洖妫涘ú濠冾渶濡鍚囬柛娆忓€归弳锟 var opts = $.extend(defaults, options); //濞戞捁顕ч崵閬嶅极閿燂拷 return this.each(function () { var obj = $(this); var l = opts.totalPages; var n = opts.liNums; var active = opts.activeClass; var str = ''; var str1 = '
  • 1
  • '; if (l > 1&&l < n+1) { for (i = 2; i < l + 1; i++) { str += '
  • ' + i + '
  • '; } }else if(l > n){ for (i = 2; i < n + 1; i++) { str += '
  • ' + i + '
  • '; } } var dataHtml = ''; if(opts.hasNext){ dataHtml += ''; } if(opts.hasLastPage){ dataHtml += '
    ' + opts.lastPage + '
    '; } dataHtml += ''; if(opts.hasFirstPage){ dataHtml += '
    ' + opts.firstPage + '
    '; } if(opts.hasPrv){ dataHtml += '
    ' + opts.prv + '
    '; } obj.html(dataHtml).off("click");//闂傚啫寮堕娑㈠箵閹哄秵顐介梺鎻掔Т椤﹁尙鎷崘顏呮殢闁哄啳顔愮槐婵嬫煂瀹ュ拋妲荤紓浣瑰灥閻g偓绂嶇€b晜顐 obj.on('click', '.next', function () { var pageshow = parseInt($('.' + active).html()); var nums,flag; var a = n % 2; if(a == 0){ //闁稿鍩栭弳锟 nums = n; flag = true; }else if(a == 1){ //濠靛倸娲﹂弳锟 nums = (n+1); flag = false; } if(pageshow >= l) { return; }else if(pageshow > 0&&pageshow <= nums/2){ //闁哄牃鍋撻柛鎾崇Т閸ゆ垶銇勯敓锟 $('.' + active).removeClass(active).parent().next().find('a').addClass(active); }else if((pageshow > l-nums/2&&pageshow < l&&flag==false)||(pageshow > l-nums/2-1&&pageshow < l&&flag==true)){ //闁哄牃鍋撻柛姘閸ゆ垶銇勯敓锟 $('.' + active).removeClass(active).parent().next().find('a').addClass(active); }else{ $('.' + active).removeClass(active).parent().next().find('a').addClass(active); fpageShow(pageshow+1); } opts.callBack(pageshow+1); }); obj.on('click', '.prv', function () { var pageshow = parseInt($('.' + active).html()); var nums = odevity(n); if (pageshow <= 1) { return; }else if((pageshow > 1&&pageshow <= nums/2)||(pageshow > l-nums/2&&pageshow < l+1)){ //闁哄牃鍋撻柛鎾崇Т閸ゆ垶銇勭憴鍕仐闁哄牃鍋撻柛姘閸ゆ垶銇勯敓锟 $('.' + active).removeClass(active).parent().prev().find('a').addClass(active); }else { $('.' + active).removeClass(active).parent().prev().find('a').addClass(active); fpageShow(pageshow-1); } opts.callBack(pageshow-1); }); obj.on('click', '.first', function(){ var activepage = parseInt($('.' + active).html()); if (activepage <= 1){ return }//鐟滅増鎸告晶鐘电箔椤戣法顏卞銈忔嫹 opts.callBack(1); fpagePrv(0); }); obj.on('click', '.last', function(){ var activepage = parseInt($('.' + active).html()); if (activepage >= l){ return; }//鐟滅増鎸告晶鐘诲嫉閳ь剟宕ユ惔婵堫伇濡炪倧鎷 opts.callBack(l); if(l>n){ fpageNext(n-1); }else{ fpageNext(l-1); } }); obj.on('click', 'li', function(){ var $this = $(this); var pageshow = parseInt($this.find('a').html()); var nums = odevity(n); opts.callBack(pageshow); if(l>n){ if(pageshow > l-nums/2&&pageshow < l+1){ //闁哄牃鍋撻柛姘閸ゆ垶銇勯敓锟 fpageNext((n-1)-(l-pageshow)); }else if(pageshow > 0&&pageshow < nums/2){ //闁哄牃鍋撻柛鎾崇Т閸ゆ垶銇勯敓锟 fpagePrv(pageshow-1); }else{ fpageShow(pageshow); } }else{ $('.' + active).removeClass(active); $this.find('a').addClass(active); } }); //闂佹彃绉甸弻濠傘€掗崣澶屽帬缂備焦鎸婚悗锟 /*activePage 鐟滅増鎸告晶鐘炽亜閿燂拷*/ function fpageShow(activePage){ var nums = odevity(n); var pageStart = activePage - (nums/2-1); var str1 = ''; for(i=0;i' } obj.find('ul').html(str1); obj.find('ul li').eq(nums/2-1).find('a').addClass(active); } /*index 闂侇偄顦懙鎴炪亜閸︻厼鍋嶇€殿噯鎷?/ function fpagePrv(index){ var str1 = ''; if(l>n-1){ for(i=0;i' } }else{ for(i=0;i' } } obj.find('ul').html(str1); obj.find('ul li').eq(index).find('a').addClass(active); } /*index 闂侇偄顦懙鎴炪亜閸︻厼鍋嶇€殿噯鎷?/ function fpageNext(index){ var str1 = ''; if(l>n-1){ for(i=l-(n-1);i' } obj.find('ul').html(str1); obj.find('ul li').eq(index).find('a').addClass(active); }else{ for(i=0;i' } obj.find('ul').html(str1); obj.find('ul li').eq(index).find('a').addClass(active); } } //闁告帇鍊栭弻鍣噄Nums闁汇劌瀚〃宀勫磻閼哥鍋撻敓锟 function odevity(n){ var a = n % 2; if(a == 0){ //闁稿鍩栭弳锟 return n; }else if(a == 1){ //濠靛倸娲﹂弳锟 return (n+1); } } }); } })(jQuery);