-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlibMessageOnMousePoint.js
More file actions
123 lines (103 loc) · 4.61 KB
/
libMessageOnMousePoint.js
File metadata and controls
123 lines (103 loc) · 4.61 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
/**
* Created by Azlain Saavedra on 1/20/2017.
*/
var messageOnMouse = function() {
$('head').append('<style>.messageBox{position: absolute;' +
'z-index: 9999999;display: none;' +
'-webkit-box-shadow: 2px 3px 15px 0px rgba(168, 153, 168, 1);' +
'-moz-box-shadow: 2px 3px 15px 0px rgba(168, 153, 168, 1);' +
'box-shadow: 2px 3px 15px 0px rgba(168, 153, 168, 1);' +
'border-radius: 5px;padding: 15px;' +
'}' +
'.btnClose{ position: absolute;' +
'float: right;' +
'top: 0px;' +
'right: 5px;' +
'color: darkgray;cursor: pointer;' +
'}</style>');
function IDGenerator() {
this.length = 8;
this.timestamp = +new Date;
var _getRandomInt = function (min, max) {
return Math.floor(Math.random() * ( max - min + 1 )) + min;
}
this.generate = function () {
var ts = this.timestamp.toString();
var parts = ts.split("").reverse();
var id = "";
for (var i = 0; i < this.length; ++i) {
var index = _getRandomInt(0, parts.length - 1);
id += parts[index];
}
return id;
}
}
var generator = new IDGenerator();
var mousePosX,mousePosY;
$(document).mousemove(function (e) {
mousePosX = e.pageX;
mousePosY = e.pageY;
});
function showMessage(type, template, callbackClose, btnClose, timeout ) {
var idBoxMessage = generator.generate();
$('message-box').append('<message-' + idBoxMessage + ' class="messageBox"></message-' + idBoxMessage + '>');
$('message-' + idBoxMessage).html(template);
if (btnClose) {
$('message-' + idBoxMessage).append('<div id="btnClose' + idBoxMessage + '" class="btnClose">x</div>');
$('#btnClose' + idBoxMessage).click(function () {
$('message-' + idBoxMessage).remove();
callbackClose
});
}
var anchoPantalla = $(document).width();
var altoPantalla = $(document).height();
var anchoDiv = Number($('message-' + idBoxMessage).css('width').replace('px', ''));
var altoDiv = Number($('message-' + idBoxMessage).css('height').replace('px', ''));
var sumX = anchoDiv + mousePosX;
var sumY = altoDiv + mousePosY;
if (type.toLowerCase() === 'success') {
$('message-' + idBoxMessage).css('color', '#3c763d');
$('message-' + idBoxMessage).css('background-color', '#dff0d8');
$('message-' + idBoxMessage).css('border-color', '#d6e9c6');
}
if (type.toLowerCase() === 'info') {
$('message-' + idBoxMessage).css('color', '#31708f');
$('message-' + idBoxMessage).css('background-color', '#d9edf7');
$('message-' + idBoxMessage).css('border-color', '#bce8f1');
}
if (type.toLowerCase() === 'warning') {
$('message-' + idBoxMessage).css('color', '#8a6d3b');
$('message-' + idBoxMessage).css('background-color', '#fcf8e3');
$('message-' + idBoxMessage).css('border-color', '#faebcc');
}
if (type.toLowerCase() === 'alert') {
$('message-' + idBoxMessage).css('color', '#a94442');
$('message-' + idBoxMessage).css('background-color', '#f2dede');
$('message-' + idBoxMessage).css('border-color', '#ebccd1');
}
//$('#spnCursor').html("document width : " + $(document).width() + "/ document height : " + $(document).height() + "/ X Axis : " + mousePosX + "/ Y Axis : " + mousePosY);
$('message-' + idBoxMessage).css('top', mousePosY + 'px');
$('message-' + idBoxMessage).css('left', mousePosX + 'px');
if (sumX > anchoPantalla) {
$('message-' + idBoxMessage).css('left', (mousePosX - anchoDiv) + 'px');
}
if (sumY > altoPantalla) {
$('message-' + idBoxMessage).css('top', (mousePosY - altoDiv) + 'px');
}
$('message-' + idBoxMessage).fadeIn();
if (timeout) {
setTimeout(function () {
$('message-' + idBoxMessage).fadeOut(null,callbackClose);
$('message-' + idBoxMessage).remove();
}, timeout)
} else {
setTimeout(function () {
$('message-' + idBoxMessage).fadeOut(null,callbackClose);
$('message-' + idBoxMessage).remove();
}, 3000)
}
}
return {
showMessage: showMessage
}
}();