更新时间:2018/1/12 下午5:50:39
更新说明:增加固定按钮数量模式,具体请查看文档
更新时间:2017/9/21 上午10:06:18
更新说明:优化分页逻辑
更新时间:2017/3/27 上午9:22:41
更新说明:
更改了api参数,增加是否保持上下页按钮,为0时不显示分页
更新时间:2016-8-11
修复总数据为0时不显示分页。
修复总数据为1时显示默认总页数bug,改成不显示分页。
增加了this.setTotalPage(page);方法
简单使用方法
html
<div class="box"></div>
js
$('.box').pagination();配置信息
pageCount:总页数(默认值:9) totalData:数据总条数(默认值:0) showData:每页展示条数(默认值:0) current:当前第几页(默认值:1) prevCls:上一页class样式(默认值:'prev') nextCls:下一页class样式(默认值:'next') prevContent:上一页节点内容(默认值:'<') nextContent:下一页节点内容(默认值:'>') activeCls:当前选中样式(默认值:'active') count:当前页前后页数(默认值:3) coping:是否开启首页尾页(默认值:false) homePage:首页节点内容(默认值:1) endPage:尾页节点内容(默认值:当前最大页数) callback():回调函数
初始化分页, 为什么第一次不查询api?
callback: function(api) {
var data = {
page: api.getCurrent(),
name: 'mss',
say: 'oh'
};
$.getJSON('*****/pagination#!method=get', data, function(json) {
console.log(json);
});
}
修改了一下会出现0页或者会超出最大页数的方法。。
/**
* 获取总页数
* 如果配置了总条数和每页显示条数,将会自动计算总页数并略过总页数配置,反之
* @return {int} 总页数
*/
this.getPageCount = function() {
var _pageCount = opts.totalData && opts.showData ? Math.ceil(parseInt(opts.totalData) / opts.showData) : opts.pageCount;
if (_pageCount < opts.count)
opts.count = _pageCount;
return _pageCount;
};分页fix类型下
var start = 1;
var end = pageCount;
var _count = 0;
if (opts.count % 2 == 0)
_count = opts.count;
else
_count = opts.count - 1;
var avgcount = _count / 2;
if (current <= avgcount) {
start = 1;
end = opts.count;
} else if (current + avgcount > pageCount) {
start = pageCount - opts.count + 1;
end = pageCount;
} else {
if (opts.count % 2 == 0)
start = current - avgcount + 1;
else
start = current - avgcount;
end = current + avgcount;
}