Alert-map.js 4.46 KB
/**
 * founder : zzf
 * Creation time :  2015/3/19
 */
var Alert = (function(arges){//消息提示框
    var config = {
        type : "",//确定显示主题
        headTitle : "",//头部显示文字
        headColse : true,//是否显示头部关闭按钮 默认值:ture 显示
        tipText : "",//提示文字显示
        contText : "",//内容显示文字 可以是url/txt/class
        contClass : "#alert-view",//内容显示区域class
        btnsType : 0,//按钮类型 默认值:0  0为一个按钮
        btns : ["确认", "取消"],//按钮文字显示
        succeedFun : function(){},
        cancelFun : function(){},
        isremove : false,
        OverlayClick : false
    };
    var methods = {
        init : function(){
            $.extend(config, arges);
            this.foundUrl();
            $(".popup-btn").fancybox({
                padding : 30,
                afterClose : function(){
                    if(config.isremove){
                        methods.remove();
                    }
                },
                afterShow : function(){
                    if(config.headColse){
                        $(".fancybox-item").hide();
                    }
                    $(".fancybox-overlay-fixed").click(function(){
                        return false;
                    });
                },
                helpers : {
                    overlay : {
                        closeClick : config.OverlayClick
                    }
                }
            }).trigger("click");
            this.events();
        },
        foundUrl : function(){
            var view = '<a href="'+config.contClass+'" class="popup-btn" style="display:none;">popup btn</a>';
            $("body").append(view);
            this.foundView();
        },
        foundView : function(){
            var view =  '<div class="cancel-ensure" id="alert-view"><div class="head">'+config.headTitle+'</div>'
                +'<div class="content"><div class="tip '+config.type+'"><span class="alert-icon"></span>'
                +'<span class="title">'+config.tipText+'</span></div>'
                +'<div class="text">'+config.contText+'</div>'
                +'</div><div class="btns"><button class="submitBtn alert-save">确认</button>'
                +'<button class="submitBtn grayBtn alert-close" style="display:none;">取消</button></div></div>';
            $("body").append(view);
            if(config.headTitle == ""){
                $("#alert-view .head").hide();
            }
            if(config.tipText == ""){
                $("#alert-view .tip").hide();
            }
            if(config.contText == ""){
                $("#alert-view .text").hide();
            }else{
                $("#alert-view .tip").css("padding", "0px");
            }
            $("#alert-view .btns button").each(function(i, elem){
                if($("#alert-view .btns button").size() > 2){
                    if(i >= 2){
                        $(elem).html(config.btns[i-2]);
                    }
                }else{
                    $(elem).html(config.btns[i]);
                }
            });
            if(config.btnsType){
                $("#alert-view .grayBtn").show();
            }else{
                $("#alert-view .alert-save").addClass("a-save-show");
            }
            config.isremove = true;
        },
        events : function(){
            $("#alert-view .alert-save").click(function(){
                config.succeedFun();
                $(".fancybox-close").trigger("click");
            });
            $("#alert-view .alert-close").click(function(){
                config.cancelFun();
                $(".fancybox-close").trigger("click");
            });
        },
        remove : function(){
            $(".popup-btn").remove();
            $("#alert-view").remove();
            $(".fancybox-placeholder").remove();
            config.isremove = false;
        }
    };

    this.get = function(key){
        if(! key){return false;}
        for(i in config){
            if(i === key){
                return config[i];
            }
        }
        return false;
    };

    this.set = function(Object){
        if("object" !== typeof(Object)){return false;}
        var isSucceed = false;
        for(i in config){
            for(k in Object){
                if(i === k){
                    config[i] = Object[k];
                    isSucceed = true;
                }
            }
        }
        return isSucceed;
    };
    methods.init();
});