jquery 分页控件实现代码


Posted in Javascript onNovember 30, 2009
<!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>
Javascript 相关文章推荐
Javascript变量作用域详解
Dec 06 Javascript
DOM基础教程之使用DOM
Jan 19 Javascript
JavaScript实现表格快速变色效果代码
Aug 19 Javascript
一个php+js实时显示时间问题
Oct 12 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
Nov 25 Javascript
原生JavaScript制作微博发布面板效果
Mar 11 Javascript
详解Layer弹出层样式
Aug 21 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 Javascript
Python版实现微信公众号扫码登陆
May 28 Javascript
在vue中封装方法以及多处引用该方法详解
Aug 14 Javascript
vue中路由跳转不计入history的操作
Sep 21 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 #Javascript
Aptana调试javascript图解教程
Nov 30 #Javascript
jQuery chili图片远处放大插件
Nov 30 #Javascript
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
Nov 30 #Javascript
javascript 设置某DIV区域内的checkbox复选框
Nov 30 #Javascript
Javascript 构造函数,公有,私有特权和静态成员定义方法
Nov 30 #Javascript
javascript &amp;&amp;和||运算法的另类使用技巧
Nov 28 #Javascript
You might like
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
python实现提取百度搜索结果的方法
2015/05/19 Python
python爬虫爬取网页表格数据
2018/03/07 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
python datetime处理时间小结
2020/04/16 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
校园文化建设方案
2014/02/03 职场文书
爱耳日活动总结
2014/04/30 职场文书
党员承诺书格式
2014/05/21 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
学生上课说话检讨书
2014/10/25 职场文书
优秀教师申报材料
2014/12/16 职场文书
2015员工年度考核评语
2015/03/25 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
2016年十一促销广告语
2016/01/28 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL