/* Copyright (c) 2025-2026 马建军. All rights reserved. * 专有软件 — 未经授权禁止复制、传播、转售。 * 详见 LICENSE.zh-CN.txt */ (function () { var toggle = document.getElementById('nav-toggle'); var nav = document.getElementById('site-nav'); var backdrop = document.getElementById('nav-backdrop'); if (!toggle || !nav) return; function openNav() { nav.classList.add('open'); if (backdrop) { backdrop.hidden = false; backdrop.classList.add('show'); } toggle.setAttribute('aria-expanded', 'true'); document.body.style.overflow = 'hidden'; } function closeNav() { nav.classList.remove('open'); if (backdrop) { backdrop.classList.remove('show'); backdrop.hidden = true; } toggle.setAttribute('aria-expanded', 'false'); document.body.style.overflow = ''; } function isMobileNav() { return window.matchMedia('(max-width: 767px)').matches; } toggle.addEventListener('click', function () { if (nav.classList.contains('open')) closeNav(); else openNav(); }); if (backdrop) { backdrop.addEventListener('click', closeNav); } nav.querySelectorAll('a').forEach(function (link) { link.addEventListener('click', function () { if (isMobileNav()) closeNav(); }); }); window.addEventListener('resize', function () { if (!isMobileNav()) closeNav(); }); document.addEventListener('keydown', function (e) { if (e.key === 'Escape') closeNav(); }); })();