$(".zxf_pagediv").createPage({
pageNum: 20,
current: 6,
backfun: function(e) {
//console.log(e);//回调
}
});
用的时候发现bug,发现前面那个写6的解决方法为6的时候第一页没了,所以再次解决中间页bug
/*中间页*/
if (pageinit.current > 4 && pageinit.pageNum > 9) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
obj.append('<a href="javascript:;" class="zxfPagenum">' + 2 + '</a>');
obj.append('<span>...</span>');
}
if (pageinit.current > 4 && pageinit.current <= pageinit.pageNum - 5 && pageinit.pageNum > 9) {
var start = pageinit.current - 2,
end = pageinit.current + 2;
} else if (pageinit.current > 4 && pageinit.current > pageinit.pageNum - 5 && pageinit.pageNum > 9) {
var start = pageinit.pageNum - 4,
end = pageinit.pageNum;
} else {
var start = 1,
end = 9;
}
上面那个会出现12 ... 345的现象,根据原来的6的问题再次解决bug
if (pageinit.current >= 6 && pageinit.pageNum == 6) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
} else if (pageinit.current >= 6 && pageinit.pageNum > 6) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
obj.append('<a href="javascript:;" class="zxfPagenum">' + 2 + '</a>');
obj.append('<span>...</span>');
}
if (pageinit.current > 5 && pageinit.current <= pageinit.pageNum - 5) {
var start = pageinit.current - 2,
end = pageinit.current + 2;
} else if (pageinit.current > 5 && pageinit.current > pageinit.pageNum - 5) {
var start = pageinit.pageNum - 4,
end = pageinit.pageNum;
} else {
var start = 1,
end = 6;
}
if (pageinit.current >= 6 && pageinit.pageNum == 6) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
} else if (pageinit.current >= 6 && pageinit.pageNum == 7) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
obj.append('<a href="javascript:;" class="zxfPagenum">' + 2 + '</a>');
} else if (pageinit.current >= 6 && pageinit.pageNum > 6) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
obj.append('<a href="javascript:;" class="zxfPagenum">' + 2 + '</a>');
obj.append('<span>...</span>');
}
if (pageinit.current > 5 && pageinit.current <= pageinit.pageNum - 5) {
var start = pageinit.current - 2,
end = pageinit.current + 2;
} else if (pageinit.current > 5 && pageinit.current > pageinit.pageNum - 5) {
var start = pageinit.pageNum - 4,
end = pageinit.pageNum;
} else {
var start = 1,
end = 6;
}
彻底解决中间页问题
if (pageinit.current >= 6 && pageinit.pageNum > 6) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
obj.append('<a href="javascript:;" class="zxfPagenum">' + 2 + '</a>');
obj.append('<span>...</span>');
}
if (pageinit.current > 5 && pageinit.current <= pageinit.pageNum - 5) {
var start = pageinit.current - 2,
end = pageinit.current + 2;
} else if (pageinit.current > 5 && pageinit.current > pageinit.pageNum - 5) {
var start = pageinit.pageNum - 4,
end = pageinit.pageNum;
} else {
var start = 1,
end = 6;
}
回复
页数过少页码显示bug
/*中间页*/
if (pageinit.current > 6 && pageinit.pageNum > 6) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
obj.append('<a href="javascript:;" class="zxfPagenum">' + 2 + '</a>');
obj.append('<span>...</span>');
}
if (pageinit.current > 6 && pageinit.current <= pageinit.pageNum - 5) {
console.log(11)
var start = pageinit.current - 2,
end = pageinit.current + 2;
} else if (pageinit.current > 6 && pageinit.current > pageinit.pageNum - 5) {
console.log(10)
var start = pageinit.pageNum - 4,
end = pageinit.pageNum;
} else {
var start = 1,
end = 9;
}谢谢大家 用了这个插件 坑填了不少 不过也谢谢这个插件让我学到了 判断的逻辑点
点击层级累加,解决办法,每次调用前先清除
$(".zxf_pagediv").unbind();
$(".zxf_pagediv").createPage({
pageNum: info.num,
current: 1,
backfun: function(e) {
console.log(e);
exhibition_news(attrid, e.current);
}
});
回复
中间页有个bug,附上解决办法:
这里当当前页为4是时候,会往前追加1,2 但是pageNum并未算上减去加上的两页 所以这里要在当前页上加2=6,不然就会像这样 1,2,......1,2,3,4,5
/*中间页*/
if (pageinit.current > 4 && pageinit.pageNum > 6) {
obj.append('<a href="javascript:;" class="zxfPagenum">' + 1 + '</a>');
obj.append('<a href="javascript:;" class="zxfPagenum">' + 2 + '</a>');
obj.append('<span>...</span>');
}
点击次数累加真的烦啊。。 附上我的解决:
在源码中的init中添加
obj.off();
init: function(obj, pageinit) {
return (function() {
zp.addhtml(obj, pageinit);
obj.off(); // 加上这句,每次调用都会清除之前的事件委托
zp.bindEvent(obj, pageinit);
}());
}