-
Notifications
You must be signed in to change notification settings - Fork 1
/
app.js
92 lines (78 loc) · 1.98 KB
/
app.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
90
91
92
const form = document.querySelector('#form');
const glasses = document.querySelector('#glasses');
const hair = document.querySelector('#hair');
const handHold = document.querySelector('#hand-hold');
const head = document.querySelector('#head')
const email = document.querySelector('#email');
const password = document.querySelector('#password');
const showPassword = document.querySelector('#show');
const submitBtn = document.querySelector('#submit-btn');
// toggle password
const showOrHidePassword = () => {
if (password.type === 'password') {
password.type = 'text'
} else {
password.type = 'password'
}
}
showPassword.addEventListener('change', showOrHidePassword);
// move hand down
const handDown = () => {
handHold.classList.add('hand-down');
};
// hair waving
const hairMove = () => {
hair.classList.add('hair-wave');
};
// glasses down
const glassesDown = () => {
glasses.classList.add('glasses-down');
};
// closing face
const closeFace = () => {
handHold.classList.add('close-face')
}
// face down
const faceDown = () => {
head.classList.add('head-down')
}
// reset handDown & glassesDown
const reset = () => {
handHold.classList.remove('hand-down');
glasses.classList.remove('glasses-down');
};
// reset hiding head movement
const resetHead = () => {
handHold.classList.remove('close-face');
head.classList.remove('head-down');
}
// reset all animation
const resetAll = () => {
if(document.activeElement !== email && document.activeElement !== password && !showPassword.checked) {
reset()
resetHead()
hair.classList.remove('hair-wave')
}
};
const animate = () => {
if (document.activeElement === email) {
resetHead();
handDown();
hairMove();
glassesDown();
} else if (document.activeElement === password && !showPassword.checked) {
reset();
hairMove();
closeFace();
faceDown();
} else if (showPassword.checked) {
resetHead();
glassesDown();
hairMove()
} else {
resetAll();
}
};
setInterval(() => {
animate();
}, 10);