diff --git a/src/core/islands/FloatingButton.mjs b/src/core/islands/FloatingButton.mjs index 7835739..93c413e 100644 --- a/src/core/islands/FloatingButton.mjs +++ b/src/core/islands/FloatingButton.mjs @@ -17,8 +17,9 @@ const setupWrapper = () => { if (!$help) return; const $wrapper = html`
`; removeMutationListener(addToDom); $help.replaceWith($wrapper); diff --git a/src/extensions/scroll-to-top/client.mjs b/src/extensions/scroll-to-top/client.mjs index 674bd2a..f76f0fa 100644 --- a/src/extensions/scroll-to-top/client.mjs +++ b/src/extensions/scroll-to-top/client.mjs @@ -25,9 +25,12 @@ export default async (api, db) => { `, onScroll = () => { if (!$scroller) return; - const { scrollTop, scrollHeight, clientHeight } = $scroller, - scrollPercent = (scrollTop / (scrollHeight - clientHeight)) * 100, - scrollDist = scrollUnits === "Percent" ? scrollPercent : scrollTop; + const { scrollTop, scrollHeight, clientHeight } = $scroller; + let scrollDist = scrollTop; + if (scrollUnits === "Percent") { + scrollDist = (scrollTop / (scrollHeight - clientHeight)) * 100; + if (isNaN(scrollDist)) scrollDist = 0; + } if (distanceUntilShown <= scrollDist) addFloatingButton($btn); else removeFloatingButton($btn); },