源码如下:
- $.fn.pager = function (pagerInfo) {
- var recordCount = this.size();
- if (recordCount <= pagerInfo.pagesize) return;
- var currentPageIndex = 1,
- pageCount = Math.ceil(recordCount / pagerInfo.pagesize);
-
- $(‘<div>一共‘ + this.size() + ‘条记录,一共‘ + pageCount + ‘页,当前第<span>1</span>页</div>‘)
- .insertAfter(pagerInfo.container)
- .append($(‘<a class="prev-page">上一页</a>‘).click(function () {
- if (currentPageIndex == 1) return;
- currentPageIndex--;
- showRecords(currentPageIndex);
- $(this).prev(‘span‘).text(currentPageIndex);
- }))
- .append($(‘<a class="prev-page" href>下一页</a>‘).click(function () {
- if (currentPageIndex == pageCount) return;
- currentPageIndex++;
- showRecords(currentPageIndex);
- $(this).prevAll(‘span‘).text(currentPageIndex);
- }))
- .css(pagerInfo.css)
- .find(‘span‘).css({ padding: 0 });
-
- var jRecords = this;
-
- var showRecords = function (pageIndex) {
- jRecords.hide();
- var startIndex = (pageIndex - 1) * pagerInfo.pagesize,
- endIndex = (pageIndex * pagerInfo.pagesize) - 1;
- jRecords.filter(‘:eq(‘ + startIndex + ‘),:gt(‘ + startIndex + ‘)‘).show();
- jRecords.filter(‘:gt(‘ + endIndex + ‘)‘).hide();
- };
-
- showRecords(currentPageIndex);
- };
使用举例:
- $(‘#feedback ul li‘)
- .pager({
- pagesize: 10,
- container: $(‘#feedback‘),
- css: { ‘margin-left‘: ‘40px‘}
- });
jQuery分页小插件
原文:http://www.cnblogs.com/xiaochao12345/p/3937661.html