-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMainloader.js
62 lines (57 loc) · 1.7 KB
/
Mainloader.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
class Loader{
constructor(c,typ,bg){
this.color=c || "dodgerblue";
this.thickness=typ || 10;
this.bgcolor=bg || "white";
this.time=1;
this.size=80;
this.animation="linear";
this.animationName="spinner";
}
activate(){
this. loads=document.createElement("DIV");
this.css=document.createElement("STYLE");
this.css.innerHTML=`@keyframes spinner{
0%{}
100%{
transform:rotateZ(720deg)
}
}`;
this.loads.innerHTML="<div id='ball'></div>";
setTimeout(()=>{
document.body.appendChild(this.loads);
document.body.appendChild(this.css);
this.stylize();
},2);
}
stylize(){
this.loads.style.width="100vw";
this.loads.style.height="100vh";
this.loads.style.backgroundColor=this.bgcolor;
this.loads.style. justifyContent="center";
this.loads.style.alignItems= "center";
this.loads.style.position="fixed";
this.loads.style.top="0";
this.loads.style.left="0";
this.loads.style.display="flex";
this.loads.style.flexDirection="column";
this.ball=document.getElementById("ball");
this.ball.style.width=this.size+"px";
this.ball.style.height=this.size+"px";
this.ball.style.borderRadius="50%";
this.ball.style.border=`${this.thickness}px solid ${this.color}`;
this.ball.style.borderLeftColor="transparent";
this.ball.style.animation=`${this.animationName} ${this.time}s infinite ${this.animation}`;
}
closeWhenDone(){
addEventListener("DOMContentLoaded",()=>{
setTimeout(()=>{
this.loads.style.display="none";},3);
});
}
closeCountDown(s){
setTimeout(()=>{
this.loads.style.display="none";
},s);
}
}