diff --git a/src/components/SideMenu.vue b/src/components/SideMenu.vue index b559a43b..6010770f 100644 --- a/src/components/SideMenu.vue +++ b/src/components/SideMenu.vue @@ -49,9 +49,12 @@ function onScroll() { if (!v.element) v.element = document.getElementById(v.anchor) || undefined; if (!v.element) return; + const containerRect = container.getBoundingClientRect(); + const elementRect = v.element.getBoundingClientRect(); + if ( - container.scrollTop + container.clientHeight / 2 > - v.element.offsetTop + containerRect.y + containerRect.height / 2 >= + elementRect.y + elementRect.height / 2 ) { current = v.anchor; }