Torq/js/navbar.js
2025-04-12 10:23:09 -05:00

30 lines
915 B
JavaScript

/*
Navbar JavaScript
========================================
*/
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('.dropdown').forEach(dropdown => {
const toggle = dropdown.querySelector('.dropdown-toggle');
const mode = dropdown.getAttribute('data-dropdown') || 'click';
if (mode === 'hover') {
dropdown.addEventListener('mouseenter', () => dropdown.classList.add('open'));
dropdown.addEventListener('mouseleave', () => dropdown.classList.remove('open'));
} else {
toggle.addEventListener('click', e => {
e.preventDefault();
dropdown.classList.toggle('open');
});
}
});
document.addEventListener('click', e => {
if (!e.target.closest('.dropdown-toggle')) {
document.querySelectorAll('.dropdown:not([data-dropdown="hover"])').forEach(dropdown => {
if (!dropdown.contains(e.target)) dropdown.classList.remove('open');
});
}
});
});