心扬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插件制作 表单验证实现代码
Aug 17 Javascript
javascript使用定时函数实现跳转到某个页面
Dec 25 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
JavaScript中的console.time()函数详细介绍
Dec 29 Javascript
判断数组的最佳方法(推荐)
Oct 11 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
Oct 19 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
Vue实现自带的过滤器实例
Mar 09 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 jQuery
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
Apr 17 Javascript
JSX在render函数中的应用详解
Sep 04 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
一个PHP的String类代码
2010/04/20 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
python用来获得图片exif信息的库实例分析
2015/03/16 Python
Django logging配置及使用详解
2019/07/23 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
python实现发送邮件
2021/03/02 Python
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
人力资源行政经理自我评价
2013/10/23 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
岗位安全生产责任书
2014/07/28 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
校长师德表现自我评价
2015/03/05 职场文书
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis