jquery 分页插件 quickpaginate 基础上修改的,添加具体页码
2012-05-22 17:33 未来上帝 阅读(507) 评论(0) 编辑 收藏 举报jquery.paginate.js内容如下:
View Code
1 // JavaScript Document 2 (function($){ 3 $.fn.Paginate = function(settings){ 4 settings = jQuery.extend({ 5 oNaver:null,//索引父对象 6 pageItems:10,//每页显示数目 7 indexItems:10,//页码数 8 prev:"cPrev",//class 9 next:"cNext",//class 10 showIndex:false,//简洁 11 showIndexList:false,//具体nav 12 counter:"cCounter",//class 13 currentNumber:"cNumber",//class 14 totalNumber:"cTotalNumber",//class 15 },settings); 16 var totalItems; 17 var point = Math.floor(settings.indexItems/2) ;//页码节点范围,1-5-9 18 var isfirst = true,islast = false,indexDynamic=false; 19 var btnNext,btnPrev; 20 var CurrentPage;//当前页 21 var items = jQuery(this); 22 var totalpages; 23 var init = function(){ 24 items.show(); 25 totalItems = items.size(); 26 totalpages= Math.ceil(totalItems / settings.pageItems); 27 if(totalpages>settings.indexItems && settings.showIndexList){indexDynamic=true;} 28 if(totalItems > settings.pageItems){ 29 items.filter(":gt("+(settings.pageItems-1)+")").hide(); 30 CurrentPage = 1; 31 setNav(); 32 } 33 34 };//init函数结束 35 36 var setNav = function(){ 37 if(settings.oNaver === null){ 38 settings.oNaver = "<div class='nav'></div>"; 39 items.eq(items.size()-1).after(settings.oNaver); 40 } 41 42 var navBar = $('<a class="'+settings.prev+'" href="#">« 上一页</a><a class="'+settings.next+'" href="#">« 下一页</a>'); 43 jQuery(settings.oNaver).append(navBar); 44 45 if(settings.showIndex){ 46 var numBar ='<span class="'+settings.counter+'"><span class="'+settings.currentNumber+'">1</span> / <span class="'+settings.totalNumber+'">'+totalpages+'</span></span>'; 47 settings.oNaver.find("."+settings.prev).after(numBar); 48 } 49 50 btnNext = settings.oNaver.find("."+settings.next); 51 btnPrev = settings.oNaver.find("."+settings.prev); 52 53 btnNext.click(function(){ 54 goNext(); 55 return; 56 }); 57 btnPrev.click(function(){ 58 goPrev(); 59 return; 60 }); 61 62 if(settings.showIndexList){ 63 createIndexList(); 64 } 65 };//setNav结束 66 67 var goJump = function(i){ 68 if(CurrentPage ==i)return; 69 settings.oNaver.find("."+settings.currentNumber).text(i); 70 CurrentPage = i; 71 if(i>point){ 72 isfirst = false; 73 if(i == totalpages){ 74 islast = true; 75 } 76 var l =totalItems-(i-1)*settings.pageItems; 77 l=l>settings.pageItems?settings.pageItems:l; 78 items.hide().slice(((i-1)*settings.pageItems),((i-1)*settings.pageItems+l)).show(); 79 80 if(indexDynamic){ 81 var front = i-point;//1 82 var bak = i+point;//11 83 var endIndex= bak>totalpages?totalpages:bak;//11 84 if(endIndex-CurrentPage < point){ 85 front = totalpages-settings.pageItems; 86 } 87 controlIndex(front,endIndex); 88 } 89 } 90 else{ 91 if(i == 1){ 92 isfirst = true; 93 islast = false; 94 } 95 var l =totalItems-i*settings.pageItems; 96 l=l>settings.pageItems?settings.pageItems:l; 97 items.hide().slice((i-1)*settings.pageItems,(i-1)*settings.pageItems+l).show(); 98 99 if(parseInt(settings.oNaver.find(".n_i_l:first")) == 1)return; 100 if(indexDynamic){controlIndex(0,settings.indexItems);} 101 102 } 103 }; 104 function controlIndex(i,e){ 105 settings.oNaver.find(".n_i_l").hide().slice(i,e).show(); 106 } 107 var createIndexList = function(){ 108 var numIndexList = ''; 109 110 for(var i=1;i<=totalpages;i++){ 111 numIndexList +="<a class='n_i_l'>"+i+"</a>"; 112 } 113 settings.oNaver.find("."+settings.totalNumber).after(numIndexList); 114 settings.oNaver.find(".n_i_l").each(function(){ 115 $(this).click(function(){ 116 goJump(parseInt($(this).text())); 117 }); 118 119 }); 120 if(indexDynamic){ 121 settings.oNaver.find(".n_i_l").slice(settings.indexItems,totalpages).hide(); 122 } 123 }; 124 var goNext = function() 125 { 126 if ( !islast ) 127 { 128 var cPage = CurrentPage++; 129 items.hide(); 130 var sumPage = CurrentPage*settings.pageItems; 131 items.slice( cPage*settings.pageItems, sumPage ).show(); 132 133 if ( CurrentPage >= totalpages ) 134 { 135 islast = true; 136 btnNext.addClass("btn_disabled"); 137 } 138 139 if ( settings.showIndex ) settings.oNaver.find("."+settings.currentNumber).text(CurrentPage); 140 141 btnPrev.removeClass("btn_disabled"); 142 isfirst = false; 143 if(indexDynamic){ 144 if(CurrentPage <= point && parseInt(settings.oNaver.find(".n_i_l:first")) != 1){ 145 controlIndex(0,settings.indexItems); 146 } 147 else{ 148 var front =CurrentPage-point 149 var bak = CurrentPage+point;//11 150 var endIndex= bak>totalpages?totalpages:bak;//11 151 if(endIndex-CurrentPage < point){ 152 front = totalpages-settings.pageItems; 153 } 154 155 controlIndex(front,endIndex);} 156 } 157 } 158 }; 159 160 var goPrev = function() 161 { 162 if ( !isfirst ) 163 { 164 var point =5; 165 var cPage = --CurrentPage;//6 166 var sumPage = (CurrentPage-1)*settings.pageItems;//5,50 167 cPage *= settings.pageItems;//6*10 168 items.hide().slice(sumPage,cPage).show(); 169 if ( CurrentPage == 1 ) 170 { 171 isfirst = true; 172 btnPrev.addClass("btn_disabled"); 173 } 174 175 176 if ( settings.showIndex ) settings.oNaver.find("."+settings.currentNumber).text(CurrentPage); 177 btnNext.removeClass("btn_disabled"); 178 islast = false; 179 if(indexDynamic){ 180 if(CurrentPage <= point && parseInt(settings.oNaver.find(".n_i_l:first")) != 1){ 181 controlIndex(0,settings.indexItems); 182 } 183 else{ 184 var front =CurrentPage-point 185 var bak = CurrentPage+point;//11 186 var endIndex= bak>totalpages?totalpages:bak;//11 187 if(endIndex-CurrentPage < point){ 188 front = totalpages-settings.pageItems; 189 } 190 191 controlIndex(front,endIndex); 192 } 193 } 194 } 195 };//上一页结束 196 init(); 197 }; 198 })(jQuery);
结束;
示例html内容:
View Code
1 <!doctype html> 2 <html> 3 <head> 4 <base target="_self"></base> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta name="description" content=" "/> 7 <title>首页</title> 8 9 <script type="text/javascript" src="js/jquery.min.js"></script> 10 <script type="text/javascript" src="js/jquery.Paginate.js"></script> 11 </head> 12 <body> 13 <center> 14 15 </div> 16 <div id="wrapper_content"> 17 <!--左边--> 18 <div id="l_c" class="center_box"> 19 <ul id="ul1"> 20 <li>1111111111111111111111111111111111</li> 21 <li>2222222222222222222222222222222222</li> 22 <li>33333333333333333333333333333333333</li> 23 <li>4444444444444444444444444444</li> 24 <li>5555555555555555555555555555</li> 25 <li>6666666666666666666666666666666</li> 26 <li>7777777777777777777777777777777</li> 27 <li>88888888888888888888888888888888</li> 28 <li>99999999999999999999999999999999999</li> 29 <li>1010101001011001010110100101010101</li> 30 31 32 <li>1111111111111111111111111111111111</li> 33 <li>2222222222222222222222222222222222</li> 34 <li>33333333333333333333333333333333333</li> 35 <li>4444444444444444444444444444</li> 36 <li>5555555555555555555555555555</li> 37 <li>6666666666666666666666666666666</li> 38 <li>7777777777777777777777777777777</li> 39 <li>88888888888888888888888888888888</li> 40 <li>99999999999999999999999999999999999</li> 41 <li>101010100101100101011010010101012</li> 42 43 44 <li>1111111111111111111111111111111111</li> 45 <li>2222222222222222222222222222222222</li> 46 <li>33333333333333333333333333333333333</li> 47 <li>4444444444444444444444444444</li> 48 <li>5555555555555555555555555555</li> 49 <li>6666666666666666666666666666666</li> 50 <li>7777777777777777777777777777777</li> 51 <li>88888888888888888888888888888888</li> 52 <li>99999999999999999999999999999999999</li> 53 <li>101010100101100101011010010101013</li> 54 55 <li>1111111111111111111111111111111111</li> 56 <li>2222222222222222222222222222222222</li> 57 <li>33333333333333333333333333333333333</li> 58 <li>4444444444444444444444444444</li> 59 <li>5555555555555555555555555555</li> 60 <li>6666666666666666666666666666666</li> 61 <li>7777777777777777777777777777777</li> 62 <li>88888888888888888888888888888888</li> 63 <li>99999999999999999999999999999999999</li> 64 <li>101010100101100101011010010101014</li> 65 66 67 <li>1111111111111111111111111111111111</li> 68 <li>2222222222222222222222222222222222</li> 69 <li>33333333333333333333333333333333333</li> 70 <li>4444444444444444444444444444</li> 71 <li>5555555555555555555555555555</li> 72 <li>6666666666666666666666666666666</li> 73 <li>7777777777777777777777777777777</li> 74 <li>88888888888888888888888888888888</li> 75 <li>99999999999999999999999999999999999</li> 76 <li>101010100101100101011010010101015</li> 77 78 79 <li>1111111111111111111111111111111111</li> 80 <li>2222222222222222222222222222222222</li> 81 <li>33333333333333333333333333333333333</li> 82 <li>4444444444444444444444444444</li> 83 <li>5555555555555555555555555555</li> 84 <li>6666666666666666666666666666666</li> 85 <li>7777777777777777777777777777777</li> 86 <li>88888888888888888888888888888888</li> 87 <li>99999999999999999999999999999999999</li> 88 <li>101010100101100101011010010101016</li> 89 90 91 <li>1111111111111111111111111111111111</li> 92 <li>2222222222222222222222222222222222</li> 93 <li>33333333333333333333333333333333333</li> 94 <li>4444444444444444444444444444</li> 95 <li>5555555555555555555555555555</li> 96 <li>6666666666666666666666666666666</li> 97 <li>7777777777777777777777777777777</li> 98 <li>88888888888888888888888888888888</li> 99 <li>99999999999999999999999999999999999</li> 100 <li>101010100101100101011010010101017</li> 101 102 <li>1111111111111111111111111111111111</li> 103 <li>2222222222222222222222222222222222</li> 104 <li>33333333333333333333333333333333333</li> 105 <li>4444444444444444444444444444</li> 106 <li>5555555555555555555555555555</li> 107 <li>6666666666666666666666666666666</li> 108 <li>7777777777777777777777777777777</li> 109 <li>88888888888888888888888888888888</li> 110 <li>99999999999999999999999999999999999</li> 111 <li>101010100101100101011010010101018</li> 112 113 114 <li>1111111111111111111111111111111111</li> 115 <li>2222222222222222222222222222222222</li> 116 <li>33333333333333333333333333333333333</li> 117 <li>4444444444444444444444444444</li> 118 <li>5555555555555555555555555555</li> 119 <li>6666666666666666666666666666666</li> 120 <li>7777777777777777777777777777777</li> 121 <li>88888888888888888888888888888888</li> 122 <li>99999999999999999999999999999999999</li> 123 <li>101010100101100101011010010101019</li> 124 125 126 <li>1111111111111111111111111111111111</li> 127 <li>2222222222222222222222222222222222</li> 128 <li>33333333333333333333333333333333333</li> 129 <li>4444444444444444444444444444</li> 130 <li>5555555555555555555555555555</li> 131 <li>6666666666666666666666666666666</li> 132 <li>7777777777777777777777777777777</li> 133 <li>88888888888888888888888888888888</li> 134 <li>99999999999999999999999999999999999</li> 135 <li>10101010010110010101101001010101010</li> 136 137 <li>1111111111111111111111111111111111</li> 138 <li>2222222222222222222222222222222222</li> 139 <li>33333333333333333333333333333333333</li> 140 <li>4444444444444444444444444444</li> 141 <li>5555555555555555555555555555</li> 142 <li>6666666666666666666666666666666</li> 143 <li>7777777777777777777777777777777</li> 144 <li>88888888888888888888888888888888</li> 145 <li>99999999999999999999999999999999999</li> 146 <li>1010101001011001010110100101010101-1</li> 147 148 <li>1111111111111111111111111111111111</li> 149 <li>2222222222222222222222222222222222</li> 150 <li>33333333333333333333333333333333333</li> 151 <li>4444444444444444444444444444</li> 152 <li>5555555555555555555555555555</li> 153 <li>6666666666666666666666666666666</li> 154 <li>7777777777777777777777777777777</li> 155 <li>88888888888888888888888888888888</li> 156 <li>99999999999999999999999999999999999</li> 157 <li>1010101001011001010110100101010101-2</li> 158 159 <li>1111111111111111111111111111111111</li> 160 <li>2222222222222222222222222222222222</li> 161 <li>33333333333333333333333333333333333</li> 162 <li>4444444444444444444444444444</li> 163 <li>5555555555555555555555555555</li> 164 <li>6666666666666666666666666666666</li> 165 <li>7777777777777777777777777777777</li> 166 <li>88888888888888888888888888888888</li> 167 <li>99999999999999999999999999999999999</li> 168 <li>1010101001011001010110100101010101-3</li> 169 170 <li>1111111111111111111111111111111111</li> 171 <li>2222222222222222222222222222222222</li> 172 <li>33333333333333333333333333333333333</li> 173 <li>4444444444444444444444444444</li> 174 <li>5555555555555555555555555555</li> 175 <li>6666666666666666666666666666666</li> 176 <li>7777777777777777777777777777777</li> 177 <li>88888888888888888888888888888888</li> 178 <li>99999999999999999999999999999999999</li> 179 <li>1010101001011001010110100101010101-4</li> 180 </ul> 181 <div id="guid1"> 182 </div> 183 <script> 184 $(function(){ 185 $("#ul1 li").Paginate({ pageItems:10, showIndex:true,showIndexList:true, oNaver:$("#guid1") }); 186 }); 187 </script> 188 </div> 189 <!--中间--> 190 <div id="c_c" class="center_box"> 191 <ul> 192 <li>2222222222222222222222222222222222</li> 193 <li>2222222222222222222222222222222222</li> 194 <li>2222222222222222222222222222222222</li> 195 <li>2222222222222222222222222222222222</li> 196 <li>2222222222222222222222222222222222</li> 197 <li>2222222222222222222222222222222222</li> 198 <li>2222222222222222222222222222222222</li> 199 <li>2222222222222222222222222222222222</li> 200 <li>2222222222222222222222222222222222</li> 201 <li>2222222222222222222222222222222222</li> 202 <li>2222222222222222222222222222222222</li> 203 <li>2222222222222222222222222222222222</li> 204 <li>2222222222222222222222222222222222</li> 205 </ul> 206 <div id="guid2"> 207 208 </div> 209 210 <script> 211 </script> 212 </div> 213 <!--右边--> 214 <div id="r_c" class="border_box"> 215 216 </div> 217 </div> 218 </center> 219 </body> 220 </html>
文件结束。
大家可以直接复制内容!然后自己试试!css没有,可以自己添加,不影响功能演示