1
0
forked from HPR/hpr_generator
Files
hpr_generator/public_html/js/menu.js
2025-08-08 16:06:08 +01:00

27 lines
922 B
JavaScript

const hamburger = document.querySelector('.hamburger');
const mainNav = document.querySelector('#main_menu');
const hamburgerIcon = document.querySelector('.hamburger_icon');
const closeIcon = document.querySelector('.close_icon');
hamburger.addEventListener('click', function() {
const isOpen = this.getAttribute('aria-expanded') === 'true';
this.setAttribute('aria-expanded', !isOpen);
mainNav.classList.toggle('is_open');
hamburgerIcon.classList.toggle('is_open');
closeIcon.classList.toggle('is_open');
if (!isOpen) {
const firstLink = mainNav.querySelector('a');
if (firstLink) firstLink.focus();
}
});
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape' && mainNav.classList.contains('is_open')) {
mainNav.classList.remove('is_open');
hamburger.setAttribute('aria-expanded', 'false');
hamburger.focus();
}
});