| | (function() { |
| | const menuBtn = document.getElementById('inlineMenuBtn'); |
| | const menu = document.getElementById('inlineMenu'); |
| | const topLink = document.getElementById('scrollTopLink'); |
| |
|
| | function closeMenu() { |
| | if (!menu) return; |
| | menu.classList.remove('open'); |
| | menu.setAttribute('aria-hidden', 'true'); |
| | } |
| |
|
| | if (menuBtn && menu) { |
| | menuBtn.addEventListener('click', function(e) { |
| | e.preventDefault(); |
| | const isOpen = menu.classList.contains('open'); |
| | if (isOpen) { |
| | closeMenu(); |
| | } else { |
| | menu.classList.add('open'); |
| | menu.setAttribute('aria-hidden', 'false'); |
| | } |
| | }); |
| | } |
| |
|
| | if (topLink) { |
| | topLink.addEventListener('click', function(e) { |
| | e.preventDefault(); |
| | window.scrollTo({ top: 0, behavior: 'smooth' }); |
| | closeMenu(); |
| | }); |
| | } |
| |
|
| | |
| | document.addEventListener('click', function(e) { |
| | if (!menu || !menuBtn) return; |
| | if (!menu.contains(e.target) && !menuBtn.contains(e.target)) { |
| | closeMenu(); |
| | } |
| | }); |
| |
|
| | |
| | document.addEventListener('keydown', function(e) { |
| | if (e.key === 'Escape') closeMenu(); |
| | }); |
| | })(); |