(function($){ var _pageinit; var zp = { init:function(obj,pageinit){ return (function(){ zp.addhtml(obj,pageinit); //zp.bindEvent(obj,pageinit); }()); }, addhtml:function(obj,pageinit){ return (function(){ obj.empty(); /*上一頁*/ if (pageinit.current > 1) { obj.append('上一頁'); } else{ obj.remove('.prevPage'); obj.append('上一頁'); } /*中間頁*/ if (pageinit.current >3 && pageinit.pageNum > 3) { obj.append(''+1+''); // obj.append(''+2+''); obj.append('...'); } if (pageinit.current >2 && pageinit.current <= pageinit.pageNum-3) { var start = pageinit.current - 1,end = pageinit.current + 1; }else if(pageinit.current >2 && pageinit.current > pageinit.pageNum-3){ var start = pageinit.pageNum - 2,end = pageinit.pageNum; }else{ var start = 1,end = 3; // zhao } for (;start <= end;start++) { if (start <= pageinit.pageNum && start >=1) { if (start == pageinit.current) { obj.append(''+ start +''); } else if(start == pageinit.current+1){ obj.append(''+ start +''); }else{ obj.append(''+ start +''); } } } if (end < pageinit.pageNum) { obj.append('...'); obj.append(''+pageinit.pageNum+''); } /*下一頁*/ if (pageinit.current >= pageinit.pageNum) { obj.remove('.nextbtn'); obj.append('下一頁'); } else{ obj.append('下一頁'); } /*尾部*/ obj.append(''+'共'+''+pageinit.pageNum+''+'頁,'+''); obj.append(''+'跳轉至'+''+'頁'+''); obj.append(''+'確定'+''); }()); }, bindEvent:function(obj){ return (function(){ obj.on("click","a.prebtn",function(){ var cur = parseInt(obj.children("span.current").text()); var current = $.extend(_pageinit, {"current":cur-1}); zp.addhtml(obj,current); if (typeof(_pageinit.backfun)=="function") { _pageinit.backfun(current); } }); obj.on("click","a.zxfPagenum",function(){ var cur = parseInt($(this).text()); var current = $.extend(_pageinit, {"current":cur}); zp.addhtml(obj,current); if (typeof(_pageinit.backfun)=="function") { _pageinit.backfun(current); } }); obj.on("click","a.nextbtn",function(){ var cur = parseInt(obj.children("span.current").text()); var current = $.extend(_pageinit, {"current":cur+1}); zp.addhtml(obj,current); if (typeof(_pageinit.backfun)=="function") { _pageinit.backfun(current); } }); obj.on("keydown","input.zxfinput",function(e){ if(window.event.keyCode == 13 || e.keyCode == 13){ console.log("huiche") var cur = parseInt($("input.zxfinput").val()); var current = $.extend(_pageinit, {"current":cur}); zp.addhtml(obj,{"current":cur,"pageNum":_pageinit.pageNum}); if (typeof(_pageinit.backfun)=="function") { _pageinit.backfun(current); } } }); obj.on("click","span.zxfokbtn",function(){ var cur = parseInt($("input.zxfinput").val()); var current = $.extend(_pageinit, {"current":cur}); zp.addhtml(obj,{"current":cur,"pageNum":_pageinit.pageNum}); if (typeof(_pageinit.backfun)=="function") { _pageinit.backfun(current); } }); }()); } } $.fn.createPage = function(options){ _pageinit = options; var pageinit = $.extend({ pageNum : 15, current : 1, backfun : function(){} },options); zp.init(this,pageinit); } $.fn.bindEvent = function(options){ var pageinit = $.extend({ backfun : function(){} },_pageinit); zp.bindEvent(this,pageinit); } }(jQuery));