Site: mobile menu button works again (the hero animation's links array shadowed the nav element); tap outside or Escape closes it

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-04 10:58:47 +00:00
parent d69d70c3fc
commit b3b61f41b9
2 changed files with 8 additions and 5 deletions

View file

@ -504,9 +504,11 @@ footer .wrap{padding-block:48px 32px}
var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
// nav
var burger=document.getElementById('burger'),links=document.getElementById('links');
burger.addEventListener('click',function(){var o=links.classList.toggle('open');burger.setAttribute('aria-expanded',o?'true':'false');});
links.querySelectorAll('a').forEach(function(a){a.addEventListener('click',function(){links.classList.remove('open');burger.setAttribute('aria-expanded','false');});});
var burger=document.getElementById('burger'),navLinks=document.getElementById('links');
burger.addEventListener('click',function(){var o=navLinks.classList.toggle('open');burger.setAttribute('aria-expanded',o?'true':'false');});
navLinks.querySelectorAll('a').forEach(function(a){a.addEventListener('click',function(){navLinks.classList.remove('open');burger.setAttribute('aria-expanded','false');});});
document.addEventListener('click',function(e){if(navLinks.classList.contains('open')&&!navLinks.contains(e.target)&&!burger.contains(e.target)){navLinks.classList.remove('open');burger.setAttribute('aria-expanded','false');}});
document.addEventListener('keydown',function(e){if(e.key==='Escape'&&navLinks.classList.contains('open')){navLinks.classList.remove('open');burger.setAttribute('aria-expanded','false');burger.focus();}});
// reveal on scroll
var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target);}});},{threshold:.12});

View file

@ -252,8 +252,9 @@ footer{border-top:1px solid var(--line);padding-block:48px 32px}
var dpr=Math.min(2,window.devicePixelRatio||1);
// nav
var burger=document.getElementById('burger'),links=document.getElementById('links');
burger.addEventListener('click',function(){var open=links.classList.toggle('open');burger.setAttribute('aria-expanded',open?'true':'false');});
var burger=document.getElementById('burger'),navLinks=document.getElementById('links');
burger.addEventListener('click',function(){var open=navLinks.classList.toggle('open');burger.setAttribute('aria-expanded',open?'true':'false');});
document.addEventListener('click',function(e){if(navLinks.classList.contains('open')&&!navLinks.contains(e.target)&&!burger.contains(e.target)){navLinks.classList.remove('open');burger.setAttribute('aria-expanded','false');}});
// formatting
function $(id){return document.getElementById(id);}