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 相关文章推荐
js控制框架刷新
Aug 01 Javascript
javaScript 判断字符串是否为数字的简单方法
Jul 25 Javascript
jQuery 使用手册(五)
Sep 23 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
Jun 15 Javascript
推荐25个超炫的jQuery网格插件
Nov 28 Javascript
node.js中的fs.unlink方法使用说明
Dec 15 Javascript
.NET微信公众号开发之创建自定义菜单
Jul 16 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
Oct 09 jQuery
详解如何探测小程序返回到webview页面
May 14 Javascript
原生js实现瀑布流效果
Mar 09 Javascript
Vue组件为什么data必须是一个函数
Jun 11 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
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
Python常用内置函数总结
2015/02/08 Python
Python的Django框架中settings文件的部署建议
2015/05/30 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
甲方资料员岗位职责
2013/12/13 职场文书
九年级化学教学反思
2014/01/28 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
新书发布会策划方案
2014/06/09 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
工作会议通知
2015/04/15 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
员工给公司的建议书
2019/06/24 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP