(function(){ // var nav = document.getElementById('main-nav'); var mq = window.matchMedia('(max-width:600px)'); /* ── hamburger toggle ── */ // btn.addEventListener('click', function(){ /* (btn).addEventListener('click', function(){ var open = nav.classList.toggle('nav-open'); btn.classList.toggle('open', open); btn.setAttribute('aria-expanded', String(open)); btn.setAttribute('aria-label', open ? 'Close navigation' : 'Open navigation'); }); */ $( ".hamburger" ).each(function( index ) { // console.log( index + ": " + $( this ).text() ); var nav; $( this ).click(function () { var navid= $(this).attr("data-navid") ; var id= $(this).attr("id") ; console.log(navid) ; var btn = $("#"+id); nav = $("#"+navid); var open = nav.toggleClass('nav-open'); btn.toggleClass('open', open); // btn.classList.toggle('open', open); btn.attr('aria-expanded', String(open)); btn.attr('aria-label', open ? 'Close navigation' : 'Open navigation'); }); /* ── mobile: tap su .nav-link ▾ (livello 1) → espande dropdown ── */ document.querySelectorAll('.nav-item > .nav-link').forEach(function(link){ var item = link.parentElement; var dd = item.querySelector(':scope > .dropdown'); if(!dd) return; link.addEventListener('click', function(e){ if(!mq.matches) return; e.preventDefault(); item.classList.toggle('expanded'); }); }); /* ── mobile: tap su .sub-trigger (livello 2) → espande submenu ── */ document.querySelectorAll('.nav-item--sub > .sub-trigger').forEach(function(trigger){ var subItem = trigger.parentElement; var subDd = subItem.querySelector(':scope > .dropdown--sub'); if(!subDd) return; trigger.addEventListener('click', function(e){ if(!mq.matches) return; e.preventDefault(); subItem.classList.toggle('expanded'); }); }); /* ── chiudi nav quando si clicca un link foglia ── */ document.querySelectorAll('.dropdown > a, .dropdown--sub > a').forEach(function(a){ a.addEventListener('click', function(){ if(mq.matches){ nav.classList.remove('nav-open'); btn.classList.remove('open'); btn.setAttribute('aria-expanded','false'); } }); }); /* ── reset su resize ── */ mq.addEventListener('change', function(e){ if(!e.matches){ nav.classList.remove('nav-open'); btn.classList.remove('open'); document.querySelectorAll('.nav-item, .nav-item--sub').forEach(function(i){ i.classList.remove('expanded'); }); } }); }); })();