$(".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); }()); }