Torq/js/navbar.js
2025-04-18 14:40:37 -05:00

30 lines
892 B
JavaScript

/*
Navbar
========================================
*/
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')
})
}
})
})