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 相关文章推荐
innerText和textContent对比及使用介绍
Feb 27 Javascript
jquery中.add()的使用分析
Apr 26 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
JavaScript中的异常捕捉介绍
Dec 31 Javascript
JavaScript实现图片DIV竖向滑动的方法
Apr 25 Javascript
bootstrap监听滚动实现头部跟随滚动
Nov 08 Javascript
React Native 集成jpush-react-native的示例代码
Aug 16 Javascript
JS实现浏览上传文件的代码
Aug 23 Javascript
微信小程序class封装http代码实例
Aug 24 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
Oct 14 Javascript
从0搭建vue-cli4脚手架
Jun 17 Javascript
React 并发功能体验(前端的并发模式)
Jul 01 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中cookies使用指南
2007/03/16 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
python制作一个桌面便签软件
2015/08/09 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
对python中各个response的使用说明
2020/03/28 Python
PageFactory设计模式基于python实现
2020/04/14 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
pandas apply多线程实现代码
2020/08/17 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
老师给学生的表扬信
2014/01/17 职场文书
小学师德师风整改措施
2014/10/27 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
人力资源部工作计划
2019/05/14 职场文书