blob: 96eb56cdb8b9a34a1c58c39564fd0baeaa2fb57b (
plain)
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
|
/**
* Toaster.js
*
* Repository: https://github.com/BigCoke233/toaster.js
* Version: 1.0.0
*
* jQuery required!
*/
Toaster = function() {
Toaster.amount = 0;
Toaster.default = {
color: '#C5C56A',
autoClose: true,
autoCloseDelay: 2000,
position: 'right-top'
};
//core method
Toaster.toast = function(m, options = Toaster.default){
if($('#toast-'+Toaster.amount).length) Toaster.dismiss('#toast-'+Toaster.amount);
Toaster.amount++;
var id = 'toast-'+Toaster.amount;
var selector = '#'+id;
$toast = $('<div class="toaster"></div>').attr('id',id).text(m).css({'background': options.color || Toaster.default.color}).addClass('toaster-'+(options.position || Toaster.default.position));
$('body').append($toast);
setTimeout(function(){
$(selector).addClass('toasting');
}, 1);
$(selector).click(function(){
if(options.onClick) options.onClick();
Toaster.dismiss(selector);
});
var autoClose=Toaster.default.autoClose;
if(options.autoClose!==undefined) autoClose=options.autoClose;
if(autoClose) {
setTimeout(function(){
Toaster.dismiss(selector);
}, options.autoCloseDelay || Toaster.default.autoCloseDelay);
}
}
Toaster.send = Toaster.toast; //for downward compatibility
//quick method
Toaster.error = function(m, options) {
Toaster.default.color='#F44236';
Toaster.toast(m, options);
Toaster.default.color='#C5C56A';
}
//dismiss given toast
Toaster.dismiss = function(toast) {
$(toast).removeClass('toasting').addClass('toast-dismissed');
setTimeout(function(){
$(toast).remove();
}, 1000);
}
};
new Toaster();
|