//分页插件 /** * 2015-11-09 * @author by futural */ (function($){ var ms = { init:function(obj,args){ return (function(){ ms.fillHtml(obj,args); ms.bindEvent(obj,args); })(); }, //填充html fillHtml:function(obj,args){ return (function(){ obj.empty(); //上一页 if(args.current > 1){ obj.append('<上一页'); }else{ obj.remove('.prevPage'); obj.append('<上一页'); } //中间页码 if(args.current != 1 && args.current >= 4 && args.pageCount != 4){ obj.append(''+1+''); } if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){ obj.append('...'); } var start = args.current -2,end = args.current+2; if((start > 1 && args.current < 4)||args.current == 1){ end++; } if(args.current > args.pageCount-4 && args.current >= args.pageCount){ start--; } for (;start <= end; start++) { if(start <= args.pageCount && start >= 1){ if(start != args.current){ obj.append(''+ start +''); }else{ obj.append(''+ start +''); } } } if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){ obj.append('...'); } if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){ obj.append(''+args.pageCount+''); } //下一页 if(args.current < args.pageCount){ obj.append('下一页>'); }else{ obj.remove('.nextPage'); obj.append('下一页>'); } obj.append('共'+args.pageCount+'页'); //跳转页码 if(args.turndown == 'true'){ obj.append('到第确定'); } })(); }, //绑定事件 bindEvent:function(obj,args){ return (function(){ obj.off("click","a.tcdNumber"); //移除原有事件 避免重复绑定 obj.on("click","a.tcdNumber",function(){ var current = parseInt($(this).text()); ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount,"turndown":args.turndown}); if(typeof(args.backFn)=="function"){ args.backFn(current); } }); //上一页 obj.off("click","a.prevPage"); //移除原有事件 避免重复绑定 obj.on("click","a.prevPage",function(){ var current = parseInt(obj.children("span.current").text()); ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount,"turndown":args.turndown}); if(typeof(args.backFn)=="function"){ args.backFn(current-1); } }); //下一页 obj.off("click","a.nextPage"); //移除原有事件 避免重复绑定 obj.on("click","a.nextPage",function(){ var current = parseInt(obj.children("span.current").text()); ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount,"turndown":args.turndown}); if(typeof(args.backFn)=="function"){ args.backFn(current+1); } }); //跳转 obj.off("click","a.turndown"); //移除原有事件 避免重复绑定 obj.on("click","a.turndown",function(){ var page = $("span.countYe input").val(); if(page.trim()==""){page=1;} page=parseInt(page); if(page==0){page=1;} if (page > args.pageCount) { ZZAlertInfo("您的输入有误,请重新输入!"); $("span.countYe input").val(''); $("span.countYe input").focus(); return; } ms.fillHtml(obj,{"current":page,"pageCount":args.pageCount,"turndown":args.turndown}); if(typeof(args.backFn)=="function"){ args.backFn(page); } // var page = parseInt($("span.countYe input").val()); // if (page > args.pageCount) { // ZZAlertInfo("您的输入有误,请重新输入!"); // return; // } // ms.fillHtml(obj,{"current":page,"pageCount":args.pageCount,"turndown":args.turndown}); // if(typeof(args.backFn)=="function"){ // args.backFn(page); // } }); })(); } } $.fn.createPage = function(options){ var args = $.extend({ pageCount : 10, current : 1, turndown:true, backFn : function(){} },options); ms.init(this,args); } })(jQuery);