心扬JS分页函数代码


Posted in Javascript onSeptember 10, 2010
<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>JS分页</title> 
<style type="text/css"> 
body{font-size:12px;} 
#pager{ height:20px; float:left;} 
#pager a{height:18px; line-height:18px; border:1px solid #ccc; padding-left:0.4em; padding-right:0.4em; text-decoration:none; display:block; float:left; margin:0px 3px;} 
#pager a:hover{background-color:#1f3a87; color:#fff; text-decoration:none;} 
.not-current{background-color:#fff; color:#1f3a87;} 
.current{background-color:#1f3a87; color:#fff; text-decoration:none;} 
</style> 
</head> 
<body onload="CreatePager(10,10,2043,'?page=14',10)"> 
<script type="text/javascript"> 
//pageSize,每页显示多少条记录,currentPage当前页,recordCount共有多少条记录,url页面路径,必须带有page参数,numCount,每页显示多少个分页数字 
var CreatePager=function(pageSize,currentPage,recordCount,url,numCount){ 
//创建一个链接 
var CreateHref=function(url,page,p_ele,t,currentPage){ 
var a=document.createElement('a'); 
var reg=new RegExp("page=\\d+"); 
url=url.replace(reg.exec(url),'page='+page) 
a.setAttribute('href',url); 
a.setAttribute('class',currentPage==page?'current':'not-current'); 
var t=document.createTextNode(t); 
a.appendChild(t); 
document.getElementById(p_ele).appendChild(a); 
} 
//计算属于哪个区间 
var GetNumArea=function(num,numCount,pageCount){ 
var currentArea=parseInt((num-1)/numCount)+1; 
var lastArea=parseInt((pageCount-1)/numCount)+1; 
this.minNum=(currentArea-1)*numCount+1; 
var tempTaxNumber=currentArea*numCount+1; 
this.maxNum=tempTaxNumber>pageCount?pageCount:tempTaxNumber; 
this.preAreaNum=currentArea<=1?1:this.minNum-1; 
this.afterAreaNum=currentArea>=lastArea?pageCount:this.maxNum+1; 
} 
var pageCount=0;//总页数 
pageCount=recordCount%pageSize===0?recordCount/pageSize:parseInt(recordCount/pageSize)+1;//总页数 
// var pager=document.getElementById('pager');//获取分页的元素 
// var pageSummary=document.createElement('span');//创建一个DIV,在里面显示第几页共几页 
// var summaryContent=document.createTextNode('第'+currentPage+'页共'+pageCount+'页'); 
// pageSummary.appendChild(summaryContent); 
// pager.appendChild(pageSummary); 
CreateHref(url,1,'pager','首页',currentPage);//添加首页链接 
CreateHref(url,new GetNumArea(currentPage,numCount,pageCount).preAreaNum,'pager','<<',currentPage);//添加前面的省略号 
//显示分页数字 开始 
var pageArea = pageCount / numCount;// 页码区间 
if(pageCount<numCount){ 
for(i=1;i<=pageCount;i++){ 
CreateHref(url,i,'pager',i,currentPage); 
} 
}else{ 
currentPage=currentPage>=pageCount?pageCount:currentPage; 
var minNum=new GetNumArea(currentPage,numCount,pageCount).minNum; 
var maxNum=new GetNumArea(currentPage,numCount,pageCount).maxNum; 
for(i=minNum;i<maxNum;i++){ 
CreateHref(url,i,'pager',i,currentPage); 
} 
} 
//显示分页数字 结束 
CreateHref(url,new GetNumArea(currentPage,numCount,pageCount).afterAreaNum,'pager','>>',currentPage);//显示分页后面的省略号 
CreateHref(url,pageCount,'pager','末页',currentPage);//添加末页链 
} 
</script> 
<div id='pager'></div> 
</body> 
</html>
Javascript 相关文章推荐
jquery1.5.1中根据元素ID获取元素对象的代码
Apr 02 Javascript
JS 使用for循环遍历子节点查找元素
Sep 06 Javascript
通过伪协议解决父页面与iframe页面通信的问题
Apr 05 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
Apr 07 Javascript
Treegrid的动态加载实例代码
Apr 29 Javascript
JavaScript解八皇后问题的方法总结
Jun 12 Javascript
vue中渐进过渡效果实现
Oct 27 Javascript
angular学习之ngRoute路由机制
Apr 12 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
Jul 06 Javascript
React实现动效弹窗组件
Jun 21 Javascript
ant design charts 获取后端接口数据展示
May 25 Javascript
vue @ ~ 相对路径 路径别名设置方式
Jun 05 Vue.js
JavaScript中获取元素索引的函数
Sep 10 #Javascript
document.getElementById的简写方式(获取id对象的简略写法)
Sep 10 #Javascript
一些常用且实用的原生JavaScript函数
Sep 08 #Javascript
js location.replace与location.reload的区别
Sep 08 #Javascript
js中匿名函数的N种写法
Sep 08 #Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
Sep 08 #Javascript
javascript循环变量注册dom事件 之强大的闭包
Sep 08 #Javascript
You might like
Session保存到数据库的php类分享
2011/10/24 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
Python中协程用法代码详解
2018/02/10 Python
python 连续不等式语法糖实例
2020/04/15 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
GUESS盖尔斯法国官网:美国时尚品牌
2016/09/23 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
应届大学生的推荐信
2013/11/20 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
优秀员工评优方案
2014/06/13 职场文书
文秘应届生求职信
2014/07/05 职场文书
党支部承诺书
2015/01/20 职场文书
Python 中的Sympy详细使用
2021/08/07 Python