diff --git a/.vscode/launch.json b/.vscode/launch.json
index a7b7add4..c349b76f 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -1,6 +1,12 @@
{
"version": "0.2.0",
"configurations": [
+ {
+ "name": "dev",
+ "request": "launch",
+ "type": "node-terminal",
+ "command": "pnpm run dev"
+ },
{
"name": "docs:dev",
"type": "node-terminal",
diff --git a/packages/theme/package.json b/packages/theme/package.json
index a29170e8..686e406f 100644
--- a/packages/theme/package.json
+++ b/packages/theme/package.json
@@ -53,6 +53,7 @@
"nanoid": "^3.3.2",
"sass": "^1.49.9",
"sass-loader": "^12.6.0",
+ "ts-debounce": "^4.0.0",
"vue": "^3.2.33",
"vue-router": "^4.0.14",
"vuepress-plugin-comment2": "2.0.0-beta.47",
diff --git a/packages/theme/src/client/components/BackToTop.vue b/packages/theme/src/client/components/BackToTop.vue
index 29c88f4c..725e2059 100644
--- a/packages/theme/src/client/components/BackToTop.vue
+++ b/packages/theme/src/client/components/BackToTop.vue
@@ -1,29 +1,23 @@
@@ -32,10 +26,11 @@ onUnmounted(() => {
diff --git a/packages/theme/src/client/utils/dom.ts b/packages/theme/src/client/utils/dom.ts
index 0b2eabe0..df97a0d4 100644
--- a/packages/theme/src/client/utils/dom.ts
+++ b/packages/theme/src/client/utils/dom.ts
@@ -11,7 +11,12 @@ export function getScrollTop(
target: Document | HTMLElement = document
): number {
if (target === document || !target) {
- return document.documentElement.scrollTop || document.body.scrollTop
+ return (
+ window.pageYOffset ||
+ document.documentElement.scrollTop ||
+ document.body.scrollTop ||
+ 0
+ )
} else {
return (target as HTMLElement).scrollTop
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 64052f57..53c3fe9e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -30,6 +30,7 @@ importers:
nanoid: ^3.3.2
sass: ^1.49.9
sass-loader: ^12.6.0
+ ts-debounce: ^4.0.0
vue: ^3.2.33
vue-router: ^4.0.14
vuepress-plugin-comment2: 2.0.0-beta.47
@@ -65,6 +66,7 @@ importers:
nanoid: 3.3.3
sass: 1.51.0
sass-loader: 12.6.0_sass@1.51.0
+ ts-debounce: 4.0.0
vue: 3.2.33
vue-router: 4.0.14_vue@3.2.33
vuepress-plugin-comment2: 2.0.0-beta.47