更新时间:2019-10-28 22:46:25
更新说明:添加了选择每页显示多少条的选项
更新时间:2019/10/13 下午3:07:59
更新说明:在传入数据总条数为0时,不显示分页
更新时间:2019/8/2 上午9:34:54
更新说明:修改方法为构造函数,第一个参数传选择器,第二个参数传配置。
添加跳多少页的方法setCurrent
// 初始化分页 var paging1 = new MyPaging('#box2', { size: 1, total: 0, current: 1, prevHtml: '上一页', nextHtml: '下一页', layout: 'total, totalPage, prev, pager, next, jumper', jump: function() { var _this = this; // 模拟ajax获取数据 setTimeout(function() { var res = getData({ size: _this.size, current: _this.current }) setTbody(res.list); // 必须调用 _this.setTotal(res.total); }, 100); } }); $('.jumpBtn').on('click', function() { paging1.setCurrent(1); })
更新时间:2019/7/26 下午2:55:02
更新说明:解决在1到2之间出现...,以及在最大与第二大之间出现...问题。
html:
需要一个盒子用来放分页内容, 注意可以通过设置paging - box的text - align来设置分页插件的位置
<div class="box2"></div>
js:
$('.paging-box').MyPaging({ size: 3, total: 0, current: 1, prevHtml: '上一页', nextHtml: '下一页', jump: function() { var _this = this; // 模拟ajax获取数据 setTimeout(function() { var res = getData({ size: _this.size, current: _this.current }) setTbody(res.list); // 必须调用 _this.setTotal(res.total); }, 100); } });
默认配置
/** opt: { linkNum: 5,// 中间按钮个数 默认5 current: 1,// 页面初始当前页 默认1 size: 10, // 每页显示的条数 默认10 layout: 'total, prev, pager, next, jumper',// 设置显示的内容// 默认'total, prev, pager, next, jumper' prevHtml: '<',// 上一页html 默认< nextHtml: '>',// 下一页html 默认> jump: fn // 跳转时执行方法 必须 } jump方法中获取当前页数this.current,获取显示条数this.current jump中必须调用this.setTotal(100)方法设置总页数 */
注意注意注意: 在jump方法中必须调用setTotal方法来设置total数, 而且会在setTotal中更新分页的html代码
function getData(params) { var res = []; $.ajax({ type: "post", url: '../../tools/manager_ajax.ashx?action=get_user_management_list', dataType: "json", data: params, error: function(XMLHttpRequest, textStatus, errorThrown) { }, success: function(json, textStatus) { if (json.status == 1) { var data = json.data; if (data.length > 0) { for (var i = 0; i < data.length; i++) { console.log("if:" + data.length); res.push(data[i]); } } } } }); return { total: res.length, list: res.splice((params.current - 1) * params.size, params.size) } }
ajax这样写获取不到,一直返回空,但是时间返回有数据的
layout: 'total, prev, pager, next, jumper'
可以改变顺序,显示的顺序也会改变
要添加多少页的话
在MyPaging.js的55行_setPagingHtml方法中添加
// 总页数 if (key == 'totalPage') { html += '<div class="sizes pg-item">共<span>' + this.totalPage + '</span>页</div>' }
然后在初始化时,将totalPage添加进入layout配置就好了
layout: 'total, totalPage, prev, pager, next, jumper',