You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.9 KiB
JavaScript
101 lines
2.9 KiB
JavaScript
//分页插件
|
|
/**
|
|
2014-08-05 ch
|
|
**/
|
|
(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('<a href="javascript:;" class="prevPage">上一页</a>');
|
|
}else{
|
|
obj.remove('.prevPage');
|
|
obj.append('<span class="disabled">上一页</span>');
|
|
}
|
|
//中间页码
|
|
if(args.current != 1 && args.current >= 4 && args.pageCount != 4){
|
|
obj.append('<a href="javascript:;" class="tcdNumber">'+1+'</a>');
|
|
}
|
|
if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){
|
|
obj.append('<span>...</span>');
|
|
}
|
|
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('<a href="javascript:;" class="tcdNumber">'+ start +'</a>');
|
|
}else{
|
|
obj.append('<span class="current">'+ start +'</span>');
|
|
}
|
|
}
|
|
}
|
|
if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){
|
|
obj.append('<span>...</span>');
|
|
}
|
|
if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){
|
|
obj.append('<a href="javascript:;" class="tcdNumber">'+args.pageCount+'</a>');
|
|
}
|
|
//下一页
|
|
if(args.current < args.pageCount){
|
|
obj.append('<a href="javascript:;" class="nextPage">下一页</a>');
|
|
}else{
|
|
obj.remove('.nextPage');
|
|
obj.append('<span class="disabled">下一页</span>');
|
|
}
|
|
})();
|
|
},
|
|
//绑定事件
|
|
bindEvent:function(obj,args){
|
|
return (function(){
|
|
obj.on("click","a.tcdNumber",function(){
|
|
var current = parseInt($(this).text());
|
|
ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount});
|
|
if(typeof(args.backFn)=="function"){
|
|
args.backFn(current);
|
|
}
|
|
});
|
|
//上一页
|
|
obj.on("click","a.prevPage",function(){
|
|
var current = parseInt(obj.children("span.current").text());
|
|
ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount});
|
|
if(typeof(args.backFn)=="function"){
|
|
args.backFn(current-1);
|
|
}
|
|
});
|
|
//下一页
|
|
obj.on("click","a.nextPage",function(){
|
|
var current = parseInt(obj.children("span.current").text());
|
|
ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount});
|
|
if(typeof(args.backFn)=="function"){
|
|
args.backFn(current+1);
|
|
}
|
|
});
|
|
})();
|
|
}
|
|
}
|
|
$.fn.createPage = function(options){
|
|
var args = $.extend({
|
|
pageCount : 10,
|
|
current : 1,
|
|
backFn : function(){}
|
|
},options);
|
|
ms.init(this,args);
|
|
}
|
|
})(jQuery);
|
|
|
|
//代码整理:懒人之家 www.lanrenzhijia.com
|