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 相关文章推荐
JS实现图片翻书效果示例代码
Sep 09 Javascript
js如何获取object类型里的键值
Feb 18 Javascript
JavaScript中的ubound函数使用实例
Nov 04 Javascript
使用Node.js实现HTTP 206内容分片的教程
Jun 23 Javascript
使用js复制链接中的部分文字的方法
Jul 30 Javascript
非常实用的12个jquery代码片段
Nov 02 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
Jan 17 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
Sep 20 Javascript
解决Linux无法正常安装与卸载Node.js的方法
Jan 19 Javascript
解决element UI 自定义传参的问题
Aug 22 Javascript
vue实现简单的星级评分组件源码
Nov 16 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
杏林同学录(三)
2006/10/09 PHP
phpwind中的数据库操作类
2007/01/02 PHP
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
PHP中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
php从字符串创建函数的方法
2015/03/16 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
python基础知识小结之集合
2015/11/25 Python
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Python zip函数打包元素实例解析
2019/12/11 Python
python和go语言的区别是什么
2020/07/20 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
史上最全面的Java面试题汇总!
2015/02/03 面试题
校园运动会广播稿
2014/10/06 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
工作态度怎么写
2015/06/25 职场文书
教师个人教学反思
2016/02/23 职场文书
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏