JavaScript EasyPager 分页函数


Posted in Javascript onMay 25, 2011
var EasyPager = function(wrap,pageCount,currPage){ 
var d = document 
,el = function(tag,inner,click,css){ 
tag = d.createElement(tag); 
inner && (tag.innerHTML = inner); 
click && (tag.onclick = click); 
css && (tag.className=css); 
return tag; 
} 
,append = function(parent,children,child){ 
children = [].concat(children); 
for(var i=0,j=children.length;i<j;i++){ 
child = children[i]; 
child && parent.appendChild(child); 
} 
return parent; 
} 
,easyFn = function(n){return function(){EasyPager(wrap,pageCount,n)}} 
,box = el("div"),firstPage,prevPage,lastPage,nextPage,startNum,endNum,pages= []; currPage!=1 && (firstPage = el("span","<<",easyFn(1)),prevPage = el("span","<",easyFn(currPage-1))); 
currPage!=pageCount && (lastPage = el("span",">>",easyFn(pageCount)),nextPage = el("span",">",easyFn(currPage+1))); 
(pageCount<=10) ? (startNum=1,endNum=pageCount) : (startNum=currPage-4,endNum = currPage+5,(currPage<=5) && (startNum=1,endNum=10),(currPage>=pageCount-5)&&(endNum=pageCount,startNum=pageCount-10+1)); 
for(var i=startNum;i<=endNum;i++)pages.push(el("span",i,easyFn(i),i==currPage?"currSpan":null)) 
append((wrap.innerHTML="",wrap),append(box,[firstPage,prevPage].concat(pages).concat(nextPage,lastPage))); 
};
Javascript 相关文章推荐
jcrop基本参数一览
Jul 16 Javascript
js生成的验证码的实现与技术分析
Sep 17 Javascript
jQuery实现鼠标划过修改样式的方法
Apr 14 Javascript
JS事件添加和移出的兼容写法示例
Jun 20 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
Sep 09 Javascript
jQuery中show与hide方法用法示例
Sep 16 Javascript
Node.js中看JavaScript的引用
Apr 22 Javascript
JavaScript指定断点操作实例教程
Sep 18 Javascript
Javascript的this详解
Mar 23 Javascript
深入浅析vue中cross-env的使用
Sep 12 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
Nov 01 Javascript
JS实现4位随机验证码
Oct 19 Javascript
浅说js变量
May 25 #Javascript
潜说js对象和数组
May 25 #Javascript
一些常用的JavaScript函数(json)附详细说明
May 25 #Javascript
javascript中万恶的function实例分析
May 25 #Javascript
js 页面关闭前的出现提示的实现代码
May 25 #Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
May 25 #Javascript
IE6/7/8/9不支持exec的简写方式
May 25 #Javascript
You might like
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
PHP函数超时处理方法
2016/02/14 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
使用JQuery在线制作ppt并在线演示源码特效
2015/09/08 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
python 生成不重复的随机数的代码
2011/05/15 Python
Python实现包含min函数的栈
2016/04/29 Python
python获取交互式ssh shell的方法
2019/02/14 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
2020/06/05 Python
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
什么是类的返射机制
2016/02/06 面试题
自荐信包含哪些内容
2013/10/30 职场文书
三个儿子教学反思
2014/02/03 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
Javascript webpack动态import
2022/04/19 Javascript