(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));