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 相关文章推荐
DEFER怎么用?
Jul 01 Javascript
javascript 解析后的xml对象的读取方法细解
Jul 25 Javascript
jQuery温习篇 强大的JQuery选择器
Apr 24 Javascript
javascript中使用css需要注意的地方小结
Sep 01 Javascript
JS两种定义方式的区别、内部原理
Nov 21 Javascript
js图片延迟技术一般的思路与示例
Mar 20 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 Javascript
jQuery实现区域打印功能代码详解
Jun 17 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
Jul 30 Javascript
微信小程序实现的picker多级联动功能示例
May 23 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
Jul 02 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
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
超级退弹代码
2008/07/07 Javascript
javascript深入理解js闭包
2010/07/03 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
11行JS代码制作二维码生成功能
2018/03/09 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
python控制台英汉汉英电子词典
2020/04/23 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
几个Shell Script面试题
2012/08/31 面试题
医学专业毕业生个人的求职信
2013/12/04 职场文书
中学生期末评语
2014/02/03 职场文书
《问银河》教学反思
2014/02/19 职场文书
安全生产专项整治方案
2014/05/06 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
导游词之镇江焦山
2019/11/21 职场文书
Python如何配置环境变量详解
2021/05/18 Python