docs-site: prevent scrolling when global bar menu is displayed

This commit is contained in:
Glen Huang
2025-10-13 23:06:05 +08:00
parent 7d3972b993
commit f66b96c102
2 changed files with 14 additions and 1 deletions

View File

@@ -35,6 +35,12 @@
}
})();
});
function toggleMenu() {
menuOpen = !menuOpen;
window.scrollTo({ top: 0 });
document.documentElement.classList.toggle("no-scroll", menuOpen);
}
</script>
<svelte:head>
@@ -64,7 +70,7 @@
{/if}
</div>
<div class={["menu", menuOpen && "open"]}>
<button onclick={() => (menuOpen = !menuOpen)}>Menu</button>
<button onclick={toggleMenu}>Menu</button>
<ul>
{@render navItems(docs.navItems)}
</ul>
@@ -130,6 +136,7 @@
color: #666;
}
.menu {
color: var(--fgColor);
& > ul {
visibility: hidden;
position: fixed;

View File

@@ -3,12 +3,18 @@
:root {
--pagePadding: 15px;
--globalBarHeight: 60px;
--fgColor: #000;
--fgInvertedColor: #fff;
--bgInvertedColor: #203637;
}
html {
box-sizing: border-box;
&.no-scroll {
overflow: hidden;
height: 100vh;
}
}
*,
*:before,