Initial commit
This commit is contained in:
32
js/navAxesToggle.js
Normal file
32
js/navAxesToggle.js
Normal file
@@ -0,0 +1,32 @@
|
||||
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'] });
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user