From 775210ba49f97da5cf55de70239246e414a18d6a Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Thu, 27 Nov 2025 18:48:02 +0800 Subject: [PATCH] =?UTF-8?q?pdf=E6=90=9C=E7=B4=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/common/DocumentSearch.vue | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/src/views/common/DocumentSearch.vue b/src/views/common/DocumentSearch.vue index e5402b1..6223783 100644 --- a/src/views/common/DocumentSearch.vue +++ b/src/views/common/DocumentSearch.vue @@ -823,30 +823,16 @@ export default { if (!target) return const wrapper = this.$refs.pdfWrapper if (!wrapper) return + const container = target.closest('.pdf-page') || target + if (!container) return + // 不做平滑动画,直接把匹配所在的 pdf-page 翻到可视区域 if (!useSmoothScroll) { - // 直接跳转到匹配位置,不做平滑滚动动画 - try { - target.scrollIntoView({ - behavior: 'auto', - block: 'center', - inline: 'nearest', - }) - } catch (e) { - // 兼容性兜底 - const container = target.closest('.pdf-page') || target - if (!container) return - const wrapperOffsetTop = container.offsetTop - const containerHeight = container.offsetHeight || target.offsetHeight || 0 - const desired = wrapperOffsetTop - Math.max((wrapper.clientHeight - containerHeight) / 2, 0) - this.cancelScrollAnimation() - wrapper.scrollTop = desired - } + this.cancelScrollAnimation() + wrapper.scrollTop = container.offsetTop return } - const container = target.closest('.pdf-page') || target - if (!container) return const wrapperOffsetTop = container.offsetTop const containerHeight = container.offsetHeight || target.offsetHeight || 0 const desired = wrapperOffsetTop - Math.max((wrapper.clientHeight - containerHeight) / 2, 0) @@ -1369,7 +1355,6 @@ export default { padding: 24px; background: #eaeaea; position: relative; - scroll-behavior: smooth; overscroll-behavior: contain; scrollbar-gutter: stable both-edges; -webkit-overflow-scrolling: touch;