From f353aa1a9b863fefa6ad3d523f48cebca24d21e7 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 1 Aug 2024 16:21:30 +0700 Subject: [PATCH] fix: change calculation method of element on scroll --- src/components/SideMenu.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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; }