mirror of
https://codeberg.org/likwid/likwid.git
synced 2026-02-09 21:13:09 +00:00
fix: typecheck public nav open state
This commit is contained in:
parent
6f9b5949ad
commit
2d124e69fe
1 changed files with 16 additions and 6 deletions
|
|
@ -152,28 +152,38 @@ const defaultTheme = DEFAULT_THEME;
|
|||
const nav = document.getElementById('public-nav');
|
||||
const toggle = document.getElementById('public-nav-toggle');
|
||||
|
||||
function setOpen(open) {
|
||||
function openNav() {
|
||||
if (!nav || !toggle) return;
|
||||
nav.classList.toggle('is-open', open);
|
||||
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
|
||||
nav.classList.add('is-open');
|
||||
toggle.setAttribute('aria-expanded', 'true');
|
||||
}
|
||||
|
||||
function closeNav() {
|
||||
if (!nav || !toggle) return;
|
||||
nav.classList.remove('is-open');
|
||||
toggle.setAttribute('aria-expanded', 'false');
|
||||
}
|
||||
|
||||
if (nav && toggle) {
|
||||
toggle.addEventListener('click', () => {
|
||||
setOpen(!nav.classList.contains('is-open'));
|
||||
if (nav.classList.contains('is-open')) {
|
||||
closeNav();
|
||||
} else {
|
||||
openNav();
|
||||
}
|
||||
});
|
||||
|
||||
nav.querySelectorAll('a').forEach((link) => {
|
||||
link.addEventListener('click', () => {
|
||||
if (window.matchMedia('(max-width: 768px)').matches) {
|
||||
setOpen(false);
|
||||
closeNav();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
window.addEventListener('resize', () => {
|
||||
if (window.innerWidth > 768) {
|
||||
setOpen(false);
|
||||
closeNav();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue