-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
59 lines (51 loc) · 1.6 KB
/
index.js
File metadata and controls
59 lines (51 loc) · 1.6 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
let id = (id) => document.getElementById(id);
let classes = (classes) => document.getElementsByClassName(classes);
let queryAll = (queryAll) => document.querySelectorAll(queryAll);
let value =[99,95,96,94,97,98,93] // percentage of skills
for(let i =0;i<value.length;i++){
const circle = queryAll("svg circle")[i];
circle.style.setProperty('--stroke-dashoffset', 438-(438*(value[i]/100)));
}
function counter (number,maxPercentage){
let counter = 0;
setInterval(()=>{
if(counter == maxPercentage){
clearInterval();
}else{
counter += 1;
number.innerHTML = counter + "%";
}
},2000/maxPercentage);
}
function skillPercentage(val){
let number = classes("number")[val];
if(number.innerHTML == "--"){
counter(number,value[val]);
}
}
let skillCards = classes("skill-cards");
for(let i=0;i<skillCards.length;i++){
new Waypoint({
element: skillCards[i],
handler: () => {
const circle = queryAll("svg circle")[i];
circle.style.setProperty("animation", "anim 2s linear forwards");
skillPercentage(i);
},
offset: "80%"
});
}
let workCards = classes("work");
for(let i=0;i<workCards.length;i++){
new Waypoint({
element: workCards[i],
handler: () =>{
if(i%2===0){
workCards[i].classList.add("row-1-animation");
}else{
workCards[i].classList.add("row-2-animation");
}
},
offset: "75%"
});
}