1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- (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 : 15,
- current : 1,
- backFn : function(){}
- },options);
- ms.init(this,args);
- }
- })(jQuery);
|