Prenota una visita
Chatta con l'AI Chat // MOBILE MENU FUNCTIONALITY const mobileToggle = document.querySelector('.mobile-menu-toggle'); const mobileOverlay = document.querySelector('.mobile-menu-overlay'); const mobileClose = document.querySelector('.mobile-menu-close'); const mobileNavLinks = document.querySelectorAll('.mobile-nav-link'); const body = document.body; function openMobileMenu() { mobileOverlay.classList.add('active'); mobileToggle.setAttribute('aria-expanded', 'true'); mobileOverlay.setAttribute('aria-hidden', 'false'); body.style.overflow = 'hidden'; // Focus management for accessibility mobileClose.focus(); } function closeMobileMenu() { mobileOverlay.classList.remove('active'); mobileToggle.setAttribute('aria-expanded', 'false'); mobileOverlay.setAttribute('aria-hidden', 'true'); body.style.overflow = ''; // Return focus to toggle button mobileToggle.focus(); } // Toggle menu when hamburger is clicked if (mobileToggle) { mobileToggle.addEventListener('click', function(e) { e.stopPropagation(); const isOpen = mobileOverlay.classList.contains('active'); if (isOpen) { closeMobileMenu(); } else { openMobileMenu(); } }); } // Close menu when close button is clicked if (mobileClose) { mobileClose.addEventListener('click', function(e) { e.stopPropagation(); closeMobileMenu(); }); } // Close menu when clicking on overlay background if (mobileOverlay) { mobileOverlay.addEventListener('click', function(e) { if (e.target === mobileOverlay) { closeMobileMenu(); } }); } // Close menu when clicking on navigation links mobileNavLinks.forEach(link => { link.addEventListener('click', function() { closeMobileMenu(); }); }); // Handle escape key to close menu document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && mobileOverlay.classList.contains('active')) { closeMobileMenu(); } }); // Handle window resize to close menu if screen becomes large window.addEventListener('resize', function() { if (window.innerWidth > 1280 && mobileOverlay.classList.contains('active')) { closeMobileMenu(); } });