心扬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 相关文章推荐
JavaScript多线程的实现方法
May 08 Javascript
javascript相关事件的几个概念
May 21 Javascript
jquery实现简单的瀑布流布局
Dec 11 Javascript
jquery实现倒计时小应用
Sep 19 jQuery
详解vue项目的构建,打包,发布全过程
Nov 23 Javascript
JavaScript动态加载重复绑定问题
Apr 01 Javascript
vue中slot(插槽)的介绍与使用
Nov 12 Javascript
从零开始实现Vue简单的Toast插件
Dec 03 Javascript
javascript canvas时钟模拟器
Jul 13 Javascript
浅析VUE防抖与节流
Nov 24 Vue.js
Python机器学习之决策树和随机森林
Jul 15 Javascript
JavaScript实现九宫格拖拽效果
Jun 28 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
[06:36]吞吞映像top1
2014/06/20 DOTA
从零学Python之入门(四)运算
2014/05/27 Python
Python中分数的相关使用教程
2015/03/30 Python
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
python如何写个俄罗斯方块
2020/11/06 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
Shopee印度尼西亚:东南亚与台湾市场最大电商平台
2018/06/17 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
党员个人对照检查材料
2014/10/01 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技