-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathburger-menu.js
More file actions
41 lines (38 loc) · 1.67 KB
/
Copy pathburger-menu.js
File metadata and controls
41 lines (38 loc) · 1.67 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
document.addEventListener('DOMContentLoaded', function() {
const menuToggle = document.getElementById('menuToggle');
const dropdownMenu = document.getElementById('dropdownMenu');
const selectElement = document.getElementById('select-main-elemets');
const selectElementMobile = document.getElementById('select-main-elemets-mobile');
// Toggle del menú desplegable
if (menuToggle && dropdownMenu) {
menuToggle.addEventListener('click', function() {
const isExpanded = menuToggle.classList.toggle('active');
dropdownMenu.classList.toggle('active');
menuToggle.setAttribute('aria-expanded', isExpanded);
});
// cerrar menú al hacer clic fuera
document.addEventListener('click', function(event) {
if (!menuToggle.contains(event.target) && !dropdownMenu.contains(event.target)) {
dropdownMenu.classList.remove('active');
menuToggle.classList.remove('active');
menuToggle.setAttribute('aria-expanded', false);
}
});
// Agregar después del event listener click
menuToggle.addEventListener('keydown', function(event) {
if (event.key === 'Enter' || event.key === ' ') {
event.preventDefault();
menuToggle.click();
}
});
// Para mejor accesibilidad en el dropdown
dropdownMenu.addEventListener('keydown', function(event) {
if (event.key === 'Escape') {
dropdownMenu.classList.remove('active');
menuToggle.classList.remove('active');
menuToggle.setAttribute('aria-expanded', 'false');
menuToggle.focus();
}
});
}
})