decentralized-video-chat/public/landing/js/mobile-menu.js
2020-03-23 23:20:28 -04:00

29 lines
1.0 KiB
JavaScript
Executable File

;(function () {
'use strict'
const navToggle = document.getElementById('header-nav-toggle')
const mainNav = document.getElementById('header-nav')
if (navToggle) {
// Open menu
navToggle.addEventListener('click', function () {
document.body.classList.toggle('off-nav-is-active')
mainNav.classList.toggle('is-active')
if (mainNav.style.maxHeight) {
mainNav.style.maxHeight = null
} else {
mainNav.style.maxHeight = mainNav.scrollHeight + 'px'
}
this.getAttribute('aria-expanded') === 'true' ? this.setAttribute('aria-expanded', 'false') : this.setAttribute('aria-expanded', 'true')
})
// Close menu
document.addEventListener('click', function (e) {
if (e.target !== mainNav && e.target !== navToggle && !mainNav.contains(e.target)) {
document.body.classList.remove('off-nav-is-active')
mainNav.classList.remove('is-active')
mainNav.style.maxHeight = null
navToggle.setAttribute('aria-expanded', 'false')
}
})
}
}())