我改了一下源码:
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这种情况怎么弄呢?