我改了一下源码:
var start = current > opts.count - 1 ? current + opts.count - 1 > pageCount ? current - (opts.count - (pageCount - current)) : current - 2 : 1; var end = current + opts.count - 1 > pageCount ? pageCount : start + opts.count;
将119行120行 更换为以下代码即可解决问题:
前提是count默认是4,不要修改
也就是页码按钮最多有5个 1,2,3,4,5
如果修改了的话 不会有功能bug 但会有样式蹩脚的情况
var start = current > opts.count - 1 ? current + opts.count - 1 > pageCount ? current - (opts.count - (pageCount - current)) === 0 ? 1 : current - (opts.count - (pageCount - current)) : current - 2 : 1; var end = current + opts.count - 1 > pageCount ? pageCount : start === current && current === 1 && pageCount === opts.count ? opts.count : start + opts.count;
$.ajax({ url: '../../admin/getServiceInfoByPage', type: 'GET', dataType: 'json', success: function(result){ console.log(result); var rows = result.data.rows; var size = result.data.size; if(size > 0){ getOrderClaimListTable(rows, assignName); //生成表格 getOrderClaimListPager(size); //调用分页插件代码 }else{ $('#serviceTbile tbody').append('<tr><td colspan="10">暂无相关数据</td></tr>'); } } }); function getOrderClaimListPager(totalCount){ $('#totalCount').text(totalCount); $('.total-pager').pagination({ totalData: totalCount, showData: 10, mode: 'fixed', count: 10, prevContent: '?', nextContent: '?', callback: function (api){ var pageNo = api.getCurrent(); $.ajax({ url: '../../admin/getServiceInfoByPage', type: 'GET', dataType: 'json', data: {pageNo: pageNo}, success: function(result){ var rows = result.data.rows; getOrderClaimListTable(rows); } }); } }); }
为什么我用这种形式调用插件,时不时刷新页面就会报错:
Uncaught TypeError: $(...).pagination is not a function
难道不能这样使用吗?
if (opts.isHide && this.getPageCount() == '1' || this.getPageCount() == '0') $obj.hide();
初始化部分显示隐藏问题,出现一次隐藏后,之后有数据也不显示
希望把api接口提供给pagination对象,而不仅仅是在callback里面使用。当通过条件查询时,这时候分页总数会变,这个时候pagination需要用到filling方法。
~~~~(>_<)~~~~ 这个
$('.M-box1').pagination({ coping: true, homePage: '首页', endPage: '末页', prevContent: '上页', nextContent: '下页', totalData: 100, showData: 4, callback: function(api) { // 请问没有一个方法可以获得当前为第几页吗 console.log($(this)) $.get('/all', { pageamount: 4, page: 0 //这里的值是死的? 我靠这怎么可以呢 }, function(json) { // console.log(json); }); } });
可以修复这种bug吗1...23456...7,无论怎么设置count选中前后页数,都有这种情况(1...23456...8),要求显示有第一页和最后一页(数字);可以参考
jQuery Pagination分页插件1...3456...8建议bug修复,配置参数里面pageCount: 0, //总页数,默认为0。。//初始化的时候
if (opts.isHide && this.getPageCount() == '1' || this.getPageCount() == '0') { $obj.hide() } else { $obj.show() };
应该加一个show(),不然会出现超过1页的时候不会自动显示的问题
初始化的时候怎么设置页码
要想变成1,2,3,4,5,6,7...10这种情况怎么弄呢?