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 相关文章推荐
[原创]网络复制内容时常用的正则+editplus
Nov 30 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
Oct 09 Javascript
extjs中form与grid交互数据(record)的方法
Aug 29 Javascript
jquery插件unobtrusive实现片段式加载
Jun 15 Javascript
javascript中使用正则表达式清理table样式的代码
Apr 01 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
Apr 03 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
JS在浏览器中解析Base64编码图像
Feb 09 Javascript
三种方式实现瀑布流布局
Feb 10 Javascript
js面向对象编程总结
Feb 16 Javascript
vuex存值与取值的实例
Nov 06 Javascript
5种 JavaScript 方式实现数组扁平化
Oct 05 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
PHP容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
js资料prototype 属性
2007/03/13 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
javascript快速排序算法详解
2014/09/17 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
Python getopt模块处理命令行选项实例
2014/05/13 Python
python检查指定文件是否存在的方法
2015/07/06 Python
Python循环语句之break与continue的用法
2015/10/14 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
python实现ip代理池功能示例
2019/07/05 Python
pandas的qcut()方法详解
2019/07/06 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
pandas的相关系数与协方差实例
2019/12/27 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
在keras中实现查看其训练loss值
2020/06/16 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
大学生四个方面的自我评价
2013/09/19 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
村班子对照检查材料
2014/08/18 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
入党转正介绍人意见
2015/06/03 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB