源码如下:

  1. $.fn.pager = function (pagerInfo) {
  2. var recordCount = this.size();
  3. if (recordCount <= pagerInfo.pagesize) return;
  4. var currentPageIndex = 1, //当前面,默认为1
  5. pageCount = Math.ceil(recordCount / pagerInfo.pagesize); //总页数
  6. //构建分页的html
  7. $('<div>一共' + this.size() + '条记录,一共' + pageCount + '页,当前第<span>1</span>页</div>')
  8. .insertAfter(pagerInfo.container)
  9. .append($('<a class="prev-page">上一页</a>').click(function () {
  10. if (currentPageIndex == 1) return;
  11. currentPageIndex--;
  12. showRecords(currentPageIndex);
  13. $(this).prev('span').text(currentPageIndex);
  14. }))
  15. .append($('<a class="prev-page" href>下一页</a>').click(function () {
  16. if (currentPageIndex == pageCount) return;
  17. currentPageIndex++;
  18. showRecords(currentPageIndex);
  19. $(this).prevAll('span').text(currentPageIndex);
  20. }))
  21. .css(pagerInfo.css)
  22. .find('span').css({ padding: 0 });
  23. var jRecords = this;  //保留作用域
  24. //pageIndex以1为开始
  25. var showRecords = function (pageIndex) {
  26. jRecords.hide();  //隐匿所有记录先
  27. var startIndex = (pageIndex - 1) * pagerInfo.pagesize,  //当前页的开始记录
  28. endIndex = (pageIndex * pagerInfo.pagesize) - 1;   //当前页的结束记录
  29. jRecords.filter(':eq(' + startIndex + '),:gt(' + startIndex + ')').show();  //显示大于开始记录(包含)的所有记录
  30. jRecords.filter(':gt(' + endIndex + ')').hide();  //隐藏大于结束记录的所有记录,以达到分页效果
  31. };
  32. showRecords(currentPageIndex);
  33. };

使用举例:

  1. $('#feedback ul li')  //数据源
  2. .pager({
  3. pagesize: 10, //分页大小
  4. container: $('#feedback'), //容纳分页html的容器
  5. css: { 'margin-left': '40px'} //分页html的样式
  6. });

jQuery分页小插件的更多相关文章

  1. jquery的小插件(按钮抖动)——衍生QQ窗口抖动

    1.抖动的按钮 效果预览:http://runjs.cn/detail/tyx8dbag <script type="text/javascript"> //shake ...

  2. jquery分页滑动插件(鼠标可控制上下滑动)

    这个插件非常好用 http://www.swiper.com.cn/

  3. 20 个具有惊艳效果的 jQuery 图像缩放插件

    jQuery相对与Flash的魔力已经贯穿整个网络.尽管,Flash层被认为是用于网页设计的首选,然而随着jQuery的出现,以及他的酷似Flash的交互式特效使得网页更加的优雅——Flash开始靠边 ...

  4. 分享一个Jquery 分页插件 Jquery Pagination

    分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也挺简单明了的,也助于自己写个小插件. 不过我比较懒,一般直接 ...

  5. Jquery 分页插件 Jquery Pagination

    Jquery 分页插件 Jquery Pagination 分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也 ...

  6. 一个强大的jquery分页插件

    点击这里查看效果 这个分页插件使用方便,引用keleyidivpager.js和keleyidivpager.css文件,然后在htm(或者php,aspx,jsp等)页面中对分页总数,参数名,前缀后 ...

  7. 21个很棒的jQuery分页插件下载

    分页是指将一个大内容划分为各种不同的页面,因此网站的分页是一个很重要的部分,必须让内容有组织性和易于访问.分页有各两种不同的方式,手动跟自动.最受欢迎简单和广泛的方法是jQuery插件.下面我们收集了 ...

  8. jQuery 分页插件 jqPagination的使用

    jqPagination 是一个简单易用的轻量级 jQuery分页插件,其使用了 HTML5 和 CSS3 技术来实现.此插件提供了几个参数设置选项,通过简单的配置即可生成分页控件.此外,它的外观样式 ...

  9. jquery分页插件的修改

    前言 最近分页功能使用的比较多,所以从网上下载个jquery分页插件来使用, 之前用的都挺好的,直到昨天出现了逻辑问题,反复查看自己的代码,最后发现是点击页码后执行了多个点击事件.最后只有自己查看源码 ...

随机推荐

  1. C#应用视频教程2.3 OPENGL虚拟仿真介绍

    本节最重要的一个内容,就是让视野可以平移+旋转+缩放(就像打CS游戏一样以第一人称视角去观察物体,如果可能的话W,S,A,D四个按键控制人物移动,还有鼠标控制视角),本节最重要的一个概念就是设置观察视 ...

  2. ibatis自定义数据类型在不支持中文的数据库存储汉字

    道理很简单,把gbk的汉字转换成iso编码存进数据库就可以了,读出来的时候把iso转换成gbk还原出原始的汉字. ibatis可以自定义类型处理器,在这里面做编码转换再适合不过了! sqlmap-co ...

  3. Spring+Shiro搭建基于Redis的分布式权限系统(有实例)

    摘要: 简单介绍使用Spring+Shiro搭建基于Redis的分布式权限系统. 这篇主要介绍Shiro如何与redis结合搭建分布式权限系统,至于如何使用和配置Shiro就不多说了.完整实例下载地址 ...

  4. 算法笔记_141:无向图的欧拉回路判断问题(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 Problem Description 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是否存在欧拉回 ...

  5. windows程序崩溃生成dump文件

    第一种: 通过任务管理器:这种适用在程序挂了(crash)的时候进程还未退出,比如我运行程序,出现了下面的错: 此时打开任务管理器,右击相应进程,点击"Create Dump File“: ...

  6. 桥(Bridge)模式

    Bridge定义:将抽象和行为划分开来,各自独立,但能动态的结合. 为什么使用桥模式 通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以 ...

  7. Linux cmp命令——比较二进制文件(转)

    Linux cmp命令用于比较两个文件是否有差异. 当相互比较的两个文件完全一样时,则该指令不会显示任何信息.若发现有所差异,预设会标示出第一个不同之处的字符和列数编号.若不指定任何文件名称或是所给予 ...

  8. 动画曲线demo

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  9. 安装 percona-xtrabackup 2.4

    Installing Percona XtraBackup from Percona yum repository Install the Percona repository You can ins ...

  10. 细说websocket - php篇(未完)

    下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket ...