forked from samyDzz/ProBar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProBar.js
89 lines (80 loc) · 1.93 KB
/
ProBar.js
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
(function (root) {
"use strict";
let colorBar = "#2a2a2a";
let wrapper_color = "#ecf0f1";
let speedAnimation = 0.3; // in seconds
let wrapper = "body"; // default value of appending.
////////////////////
// all functions. //
////////////////////
// first class instantiation.
function proBar(options){
options = options || {};
if(options.color) { colorBar = options.color };
if(options.bgColor) { wrapper_color = options.bgColor };
if(options.speed) { speedAnimation = options.speed };
if(options.wrapper) { wrapper = options.wrapper };
let ProBar = {
setSpeed,
setColor,
setWrapperColor,
goto: function (percent,time = null) {
if(time != null) {setSpeed(time)}
move(percent);
}
};
createBar(wrapper);
// move the bar
function move(percent){
$(".progressBar").css({
width: percent+"%",
transition : "width "+speedAnimation+"s"
});
}
function setSpeed(speed){
speedAnimation = speed;
}
function setColor(color){
colorBar = color;
$(".progressBar").css({
"background-color" : colorBar
});
}
function setWrapperColor(color){
wrapper_color = color;
$("#wrapper-progressBar").css({
"background-color" : wrapper_color
});
}
return ProBar;
}
var createBar = (element) => {
var Css = `
.progressBar {
width : 0px;
height : 5px;
background-color: ${colorBar};
}
#wrapper-progressBar {
width : 100%;
height : 5px;
background-color : ${wrapper_color}
}
`;
var htmlBar = `<div id="wrapper-progressBar"><div class="progressBar"></div></div>`;
$(wrapper).prepend(htmlBar);
$("head").append(`
<style>
${Css}
</style>
`);
}
if (window.jQuery) {
console.log("JQuery is installed !");
root.ProBar = proBar;
} else {
// jQuery is not loaded
console.warn("No Jquery - add it as CDN");
return false;
}
}(this));