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;