;(function($){ var Dialog = function (cfg){ this.config = { width:180, height:150, msg:'操作成功', winDom:window, delay:0, bg:true, bgWhite:false, clickDomCancel:false, callback:null, type:"success" } $.extend(this.config,cfg); // 容器存在就返回 if (Dialog.prototype.modelBox ) return; this.render(this.config.type); return this; } //在闭包区域内 将Dialog暴露出去 window.Dialog = Dialog; //定义外层 //modelBox盒子 内容区域的外层容器 Dialog.prototype.modelBox = null; Dialog.prototype.render = function(type){ //初始渲染容器 this.renderUI(type); //绑定事件 this.clickDom(); //初始化盒子大小 this.initBox(); Dialog.prototype.modelBox.appendTo(this.config.winDom.document.body); }; //初始渲染 Dialog.prototype.renderUI = function(type){ Dialog.prototype.modelBox = $("
"); //提示类型 判断 type == "load" && this.loadRender(); type == "success" && this.successRender(); type == "error" && this.errorRender(); type == "tip" && this.tipRender(); //是否显示遮罩 if(this.config.bg){ this.config.bgWhite ? this._mask = $("") : this._mask = $(""); this._mask.appendTo(this.config.winDom.document.body); } //config.delay 定时遮罩消失 _this_ = this; !this.config.delay && typeof this.config.callBack === "function" && (this.config.delay = 1); this.config.delay && setTimeout(function(){_this_.close();},_this_.config.delay); }; Dialog.prototype.clickDom = function(){ var _this = this; //点击空白立即取消 this.config.clickDomCancel && this._mask && this._mask.click(function(){_this.close();}); }; Dialog.prototype.initBox = function(){ Dialog.prototype.modelBox.css({ width : this.config.width+'px', height : this.config.height+'px', marginLeft : "-"+(this.config.width/2)+'px', marginTop : "-"+(this.config.height/2)+'px' }); }; //成功效果 Dialog.prototype.successRender = function(){ var suc = "