jquery 分页控件实现代码 |
本文标签:jquery,分页控件 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>jquery分页控件</title> <script src="jquery-1.3.min.js" type="text/javascript"></script> </head> <body> <div class="pager"></div> <!--<div> <select class="SEID"> <option>10</option> <option selected="selected" >20</option> <option>30</option> </select> <div class="first">首页</div> <div class="pre">上一页</div> <div class="centerclass"></div> <div class="next">下一页</div> <div class="last">最后一页</div> <input type="text" value="1" /> of<span class="totelspan">0</span> </div>--> </body> </html> <script type="text/javascript"> var pageindex=1; var totelsize=60; var centersize=5; var pagesize=0; var totelSec=0; var outStr=""; var se="<select class=\"SEID\">" +"<option>5</option>" +"<option selected=\"selected\" >10</option>" +"<option>15</option>" +"</select>"; var firstdiv="<div class=\"first\">首页</div>"; var prediv="<div class=\"pre\">上一页</div>"; var centerdiv="<div class=\"centerclass\"></div>"; var nextdiv="<div class=\"next\">下一页</div>"; var lastdiv="<div class=\"last\">最后一页</div>"; $(.pager).empty(); $(.pager).append(se) $(.pager).append(firstdiv) $(.pager).append(prediv) $(.pager).append(centerdiv) $(.pager).append(nextdiv) $(.pager).append(lastdiv) function PageInit() { var size=0; var barObj=this; var PageReinit=function() { pagesize=$(".SEID option:selected")[0].innerText; size=parseInt(totelsize/pagesize) var lastSize=totelsize%pagesize;//最后一页显示记录 if(lastSize>0) { size=size+1; } totelSec=parseInt(size/centersize); var leftSize=size%centersize;//最后一个区段的显示记录 if(leftSize>0) { totelSec =totelSec+1; } PageBarinit(); } var reSetPage=function() { pageindex=1; pagesize=0; totelSec=0; outStr=""; } // alert(总页数:+size) // alert(总区段:+totelSec) // alert(每页记录数:+pagesize); var SeClick=function(e) { var Selectindex=e.target[e.target.selectedIndex].innerText; pagesize=parseInt(Selectindex); alert(每页显示:+Selectindex); reSetPage(); PageReinit(); } var firstClick=function(e) { alert(点击到首页); if(pageindex!=1) { pageindex=1; alert(到了第1页); } } var preClick=function(e) { alert(点击到上一页); if(pageindex!=1) { pageindex =pageindex-1; alert(到了第+pageindex+页); } ChangeCenterBar(pageindex+1); } var pageClick=function(e) { var targePage=parseInt(e.target.innerText); pageindex=targePage; alert(点击了第+targePage+"页"); ChangeCenterBar(targePage); } var nextClick=function(e) { alert(点击了下一页); if(pageindex<size) { pageindex =pageindex+1; if(pageindex==size) { alert(到了最后一页); } else{ alert(到了第+pageindex+页); } } ChangeCenterBar(pageindex-1); } var lastClick=function(e) { alert(点击了最后一页); if(pageindex<size) { pageindex=size; alert(到了第+size+页); } } var ChangeCenterBar=function(CurrentIndex) { var currentSec=parseInt(CurrentIndex/centersize); if( CurrentIndex%centersize==1) { if(currentSec<totelSec) { PageBarinit();} } if(CurrentIndex%centersize==0) { var currentSec=parseInt(CurrentIndex/centersize); if(currentSec<totelSec) { PageBarinit();} } } var PageBarinit=function() { $(.SEID).unbind(change,SeClick); $(.first).unbind(click,firstClick); $(.pre).unbind(click,preClick); $(.next).unbind(click,nextClick); $(.last).unbind(click,lastClick); $(.SEID).bind(change,SeClick); $(.first).bind(click,firstClick); $(.pre).bind(click,preClick); $(.next).bind(click,nextClick); $(.last).bind(click,lastClick); if(size<=centersize) { $(.centerclass).empty(); for(var i=1;i<=size;i++) { var cdiv="<span id=Page_"+String(i)+">"+i+"</span>"; $(.centerclass).append(cdiv); $("#Page_"+i).bind(click,pageClick); } }else if(size>centersize) { $(.centerclass).empty(); if( pageindex%centersize==0) { var currentSec=parseInt(pageindex/centersize);//当前区段 if(currentSec<totelSec) { // alert(9) var startIndex=(currentSec-1)*centersize+1; for(startIndex;startIndex<=currentSec*centersize;startIndex++) { //alert(startIndex) //alert(最大+currentSec*centersize); var cdiv="<span id=Page_"+String(startIndex)+">"+startIndex+"</span>"; $(.centerclass).append(cdiv); $("#Page_"+startIndex).bind(click,pageClick); } } else if(currentSec==totelSec) { var startIndex=(currentSec-1)*centersize+1; for(startIndex;startIndex<=currentSec*centersize;startIndex++) { var cdiv="<span id=Page_"+String(startIndex)+">"+startIndex+"</span>"; $(.centerclass).append(cdiv); $("#Page_"+startIndex).bind(click,pageClick); } }else{ alert(分页出错); } }else if(pageindex%centersize>0) { var currentSec=parseInt(pageindex/centersize)+1;//当前区段 if(currentSec<totelSec) { var startIndex=(currentSec-1)*centersize+1; for(startIndex;startIndex<=((currentSec-1)*centersize+centersize);startIndex++) { var cdiv="<span id=Page_"+String(startIndex)+">"+startIndex+"</span>"; $(.centerclass).append(cdiv); $("#Page_"+startIndex).bind(click,pageClick); } } else if(currentSec==totelSec){ var startIndex=(currentSec-1)*centersize+1; for(startIndex;startIndex<=((currentSec-1)*centersize +size%centersize);startIndex++) { var cdiv="<span id=Page_"+String(startIndex)+">"+startIndex+"</span>"; $(.centerclass).append(cdiv); $("#Page_"+startIndex).bind(click,pageClick); } }else { alert(分页出错); } } } } PageReinit(); } PageInit(); </script> |