PageSourceSearch

https://www.boyens-medien.de/_assets/67cd42dcf90559750db2c98e9112e94a/JavaScript/Page/navigation.js?1789384593

js boyens-medien.de collected 2026-10-02 11:00:59 UTC 1,467 bytes, 35 lines download raw bytes

1document.addEventListener('DOMContentLoaded', () => {
2  const html     = document.documentElement;
3  const btn      = document.getElementById('mainMenuButton');
4  const overlay  = document.getElementById('sidebarMenu-overlay');
5  const closeBtn = document.getElementById('closeMenu');
6  if (!btn || !overlay || !closeBtn) return;
7
8  const targetSel = btn.getAttribute('data-bs-target') || btn.getAttribute('data-target');
9  const nav = document.querySelector(targetSel);
10  if (!nav) return;
11
12  const bsCollapse = bootstrap.Collapse.getOrCreateInstance(nav, { toggle: false });
13
14  const applyOpen = (open) => {
15    html.classList.toggle('sitebarMenue-opened', open);
16    nav.classList.toggle('activeSidebar', open); // falls dein CSS darauf hört
17    nav.classList.toggle('d-block', open);
18    nav.classList.toggle('d-none', !open);
19  };
20
21  // Sofort beim Start der Bootstrap-Animation reagieren (fühlt sich direkt an)
22  nav.addEventListener('show.bs.collapse',  () => applyOpen(true));
23  nav.addEventListener('hide.bs.collapse',  () => applyOpen(false));
24
25  nav.addEventListener('hidden.bs.collapse', () => {
26    nav.classList.remove('collapse');
27  });
28
29  // Overlay / Close schließt über Bootstrap (setzt aria-expanded korrekt)
30  overlay.addEventListener('click', () => bsCollapse.hide());
31  closeBtn.addEventListener('click', () => bsCollapse.hide());
32
33  // Initial sync (falls Serverzustand offen)
34  applyOpen(btn.getAttribute('aria-expanded') === 'true');
35});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.