zoukankan      html  css  js  c++  java
  • 分页插件

    /*
        分页插件
        $(".ms-page").createPage( {
            pageCount : 10,
            current : 1,
            backFn : function( pNum){
                innerHtmlFun( pNum );
            }
        } );
    */
    ;(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){
            if( options && options.pageCount && options.pageCount <= 1 ){ return; }
            var args = $.extend({
                pageCount : 10,
                current : 1,
                backFn : function(){}
            },options);
            ms.init(this,args);
        }
    })(jQuery);

  • 相关阅读:
    poj 2757 : 最长上升子序列(JAVA)
    POJ 2760: 数字三角形
    poj 1664:放苹果
    Poj 2756:二叉树
    poj机上的JAVA那些事儿
    浅谈HASH算法与CSDN密码泄漏事件
    如何防范密码被破解
    [转载自百度文库]数组拷贝(System.arraycopy,深度拷贝)--数组
    Java数学计算
    fzu Problem 1396 Large Caclulating Work
  • 原文地址:https://www.cnblogs.com/sunhw360/p/4624131.html
Copyright © 2011-2022 走看看