Alert.js
5.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/**
* founder : zzf
* Creation time : 2015/3/16
*/
define(function( require, exports, module ) {
require( 'fancybox' );
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();
});
return Alert;
});