33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function () {
|
|
var item = document.querySelector('.nav-axes-item');
|
|
if (!item) return;
|
|
|
|
var trigger = item.querySelector('.nav-axes-trigger');
|
|
var mainMenu = document.querySelector('.main-menu');
|
|
|
|
trigger.addEventListener('click', function (e) {
|
|
e.stopPropagation();
|
|
var isOpen = item.classList.toggle('is-open');
|
|
trigger.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
|
|
});
|
|
|
|
// Close when clicking outside
|
|
document.addEventListener('click', function (e) {
|
|
if (!item.contains(e.target)) {
|
|
item.classList.remove('is-open');
|
|
trigger.setAttribute('aria-expanded', 'false');
|
|
}
|
|
});
|
|
|
|
// Reset when main menu closes
|
|
if (mainMenu) {
|
|
var observer = new MutationObserver(function () {
|
|
if (!mainMenu.classList.contains('active')) {
|
|
item.classList.remove('is-open');
|
|
trigger.setAttribute('aria-expanded', 'false');
|
|
}
|
|
});
|
|
observer.observe(mainMenu, { attributes: true, attributeFilter: ['class'] });
|
|
}
|
|
});
|