-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
81 lines (41 loc) · 1.41 KB
/
script.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
const smallCups = document.querySelectorAll(".cup-small");
const liters = document.getElementById("liters");
const percentage = document.getElementById("percentage");
const remained = document.getElementById("remained");
const updateBigCup = () => {
const fullCups = document.querySelectorAll(".cup-small.full").length;
const totalCups = smallCups.length;
if (fullCups === 0) {
percentage.style.visibility = "hidden";
percentage.style.height = 0;
} else {
percentage.style.visibility = "visible";
percentage.style.height = `${(fullCups / totalCups) * 330}px`;
percentage.innerText = `${(fullCups / totalCups) * 100}%`;
}
if (fullCups === totalCups) {
remained.style.visibility = "hidden";
remained.style.height = 0;
} else {
percentage.style.visibility = "visible";
liters.innerText = `${2 - (250 * fullCups) / 1000}L`;
}
};
const highlightCups = (index) => {
if (index === 7 && smallCups[index].classList.contains("full")) index--;
if (
smallCups[index].classList.contains("full") &&
!smallCups[index].nextElementSibling.classList.contains("full")
) {
index--;
}
smallCups.forEach((cup, index2) => {
if (index2 <= index) cup.classList.add("full");
else cup.classList.remove("full");
});
updateBigCup();
};
smallCups.forEach((cup, index) =>
cup.addEventListener("click", () => highlightCups(index))
);
updateBigCup();