-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
44 lines (38 loc) · 1.58 KB
/
app.js
File metadata and controls
44 lines (38 loc) · 1.58 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
// Memilih tombol hamburger dari DOM
const hamburger = document.querySelector('.header .nav-bar .nav-list .hamburger');
// Memilih menu navigasi mobile dari DOM
const mobile_menu = document.querySelector('.header .nav-bar .nav-list ul');
// Memilih semua item menu dari DOM
const menu_item = document.querySelectorAll('.header .nav-bar .nav-list ul li a');
// Memilih elemen header dari DOM
const header = document.querySelector('.header.container');
// Menambahkan event listener pada tombol hamburger
hamburger.addEventListener('click', () => {
// Mengubah status kelas 'active' pada tombol hamburger
hamburger.classList.toggle('active');
// Mengubah status kelas 'active' pada menu navigasi mobile
mobile_menu.classList.toggle('active');
});
// Menambahkan event listener pada event scroll
document.addEventListener('scroll', () => {
// Mendapatkan posisi scroll vertikal
var scroll_position = window.scrollY;
// Jika posisi scroll melebihi 250 piksel dari atas halaman
if (scroll_position > 250) {
// Mengubah warna latar belakang header menjadi putih
header.style.backgroundColor = 'white';
} else {
// Jika tidak, mengatur latar belakang header menjadi transparan
header.style.backgroundColor = 'transparent';
}
});
// Menambahkan event listener pada setiap item menu
menu_item.forEach((item) => {
// Ketika salah satu item menu di-klik
item.addEventListener('click', () => {
// Mengubah status kelas 'active' pada tombol hamburger
hamburger.classList.toggle('active');
// Mengubah status kelas 'active' pada menu navigasi mobile
mobile_menu.classList.toggle('active');
});
});