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 相关文章推荐
基于JQuery的密码强度验证代码
Mar 01 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
Sep 21 Javascript
javascript几个易错点记录
Nov 26 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
Nov 07 Javascript
JS截取与分割字符串常用技巧总结
Nov 10 Javascript
Bootstrap3学习笔记(二)之排版
May 20 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
Sep 01 Javascript
webpack搭建vue 项目的步骤
Dec 27 Javascript
在小程序中使用Echart图表的示例代码
Aug 02 Javascript
iview的table组件自带的过滤器实现
Jul 12 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
Dec 22 Javascript
原生js 实现表单验证功能
Feb 08 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开发文件系统实例讲解
2006/10/09 PHP
php面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
jQuery 获取对象 定位子对象
2010/05/31 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
Python简单进程锁代码实例
2015/04/27 Python
Python的SQLAlchemy框架使用入门
2015/04/29 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
Python列表(List)知识点总结
2019/02/18 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
Python PIL库图片灰化处理
2020/04/07 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
python和c语言哪个更适合初学者
2020/06/22 Python
python和JavaScript哪个容易上手
2020/06/23 Python
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
电气自动化大学生求职信
2013/10/16 职场文书
学期自我鉴定
2013/11/04 职场文书
考试退步检讨书
2014/01/15 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
小学领导班子对照材料
2014/08/23 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python