心扬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 相关文章推荐
JQuery 入门实例1
Jun 25 Javascript
JavaScript中如何通过arguments对象实现对象的重载
May 12 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
JS+CSS实现表格高亮的方法
Aug 05 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
Aug 22 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
Nov 15 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
Feb 26 Javascript
Vue非父子组件通信详解
Jun 12 Javascript
vue后台管理之动态加载路由的方法
Aug 13 Javascript
vue: WebStorm设置快速编译运行的方法
Oct 18 Javascript
js实现聊天对话框
Feb 08 Javascript
浅谈克隆 JavaScript
Nov 02 Javascript
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
分享常见的几种页面静态化的方法
2015/01/08 PHP
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
JS模式之简单的订阅者和发布者模式完整实例
2015/06/30 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
mui js控制开关状态、修改switch开关的值方法
2019/09/03 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
Python3 操作符重载方法示例
2017/11/23 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
Flask框架web开发之零基础入门
2018/12/10 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
编写类String 的构造函数、析构函数和赋值函数
2012/09/09 面试题
个人自我评价和职业目标
2014/01/24 职场文书
黄继光的英雄事迹材料
2014/02/13 职场文书
招聘专员岗位职责
2014/03/07 职场文书
护校行动方案
2014/05/31 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
python scipy 稀疏矩阵的使用说明
2021/05/26 Python
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript