//分页插件
/**
* 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) {
alert("您的输入有误,请重新输入!");
$("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) {
// alert("您的输入有误,请重新输入!");
// 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);