Files
2026-10-24 23:23:18 +03:00

27 lines
783 B
JavaScript

const menu = document.querySelector('.menu-toggle');
const navigation = document.querySelector('#site-navigation');
function closeMenu() {
menu.setAttribute('aria-expanded', 'false');
navigation.classList.remove('open');
}
menu.addEventListener('click', () => {
const open = menu.getAttribute('aria-expanded') !== 'true';
menu.setAttribute('aria-expanded', String(open));
navigation.classList.toggle('open', open);
});
navigation.addEventListener('click', event => {
if (event.target.closest('a')) closeMenu();
});
document.addEventListener('keydown', event => {
if (event.key === 'Escape' && menu.getAttribute('aria-expanded') === 'true') {
closeMenu();
menu.focus();
}
});
window.matchMedia('(min-width: 769px)').addEventListener('change', closeMenu);