-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
62 lines (49 loc) · 1.69 KB
/
app.js
File metadata and controls
62 lines (49 loc) · 1.69 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
60
61
62
let slide_content = document.querySelector('#slide-content')
let signin_form = document.querySelector('#signin-form')
let signin_btn = document.querySelector('#signin-btn')
let darkmode_toggle = document.querySelector('#darkmode-toggle')
let slide_index = 0
slide = () => {
let slide_items = slide_content.querySelectorAll('img')
slide_items.forEach(e => e.classList.remove('active'))
slide_index = slide_index + 1 === slide_items.length ? 0 : slide_index + 1
slide_items[slide_index].classList.add('active')
}
setInterval(slide, 2000)
// animate input
document.querySelectorAll('.animate-input').forEach(e => {
let input = e.querySelector('input')
let button = e.querySelector('button')
input.onkeyup = () => {
if (input.value.trim().length > 0) {
e.classList.add('active')
} else {
e.classList.remove('active')
}
}
// show password button
if (button) {
button.onclick = () => {
if (input.getAttribute('type') === 'text') {
input.setAttribute('type', 'password')
button.innerHTML = 'Show'
} else {
input.setAttribute('type', 'text')
button.innerHTML = 'Hide'
}
}
}
})
checkSigninInput = () => {
let inputs = signin_form.querySelectorAll('input')
return Array.from(inputs).every(input => {
return input.value.trim().length >= 6
})
}
// darkmode toggle
darkmode_toggle.onclick = (e) => {
e.preventDefault()
let body = document.querySelector('body')
body.classList.toggle('dark')
darkmode_toggle.innerHTML = body.classList.contains('dark') ? 'Lightmode' : 'Darkmode'
}