From 5b8b015bfcf85dc5bf8addafda40f4eeeb2a9822 Mon Sep 17 00:00:00 2001 From: xiaoqidun Date: Thu, 9 Jul 2026 13:02:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=89=8D=E7=AB=AF=E7=95=8C=E9=9D=A2):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=89=8D=E7=AB=AF=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/webui/ofdgo.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/assets/webui/ofdgo.js b/assets/webui/ofdgo.js index e980615..8c97168 100644 --- a/assets/webui/ofdgo.js +++ b/assets/webui/ofdgo.js @@ -1293,9 +1293,16 @@ function scrollToPage(index) { if (state.fitMode !== "height") { el.viewerPanel.scrollTop = Math.max(0, el.viewerPanel.scrollTop - pageBlockSpace()); } + centerPageInline(shell); } } +function centerPageInline(shell) { + const viewerRect = el.viewerPanel.getBoundingClientRect(); + const shellRect = shell.getBoundingClientRect(); + el.viewerPanel.scrollLeft += shellRect.left + shellRect.width / 2 - viewerRect.left - el.viewerPanel.clientWidth / 2; +} + function schedulePageSync() { if (state.scrollFrame || !state.doc) { return; @@ -1314,7 +1321,6 @@ function syncCurrentPageFromScroll() { const nextIndex = Number.parseInt(shell.dataset.pageIndex, 10); if (Number.isFinite(nextIndex) && nextIndex !== state.pageIndex) { setCurrentPage(nextIndex); - applyFit(false); queueNearbyPages(nextIndex); } }