From 6d35cbebae194ccd311d3765ad6e2a1dad639e1f Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 9 Oct 2024 22:32:47 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/12229 --- app/src/protyle/render/av/cell.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/protyle/render/av/cell.ts b/app/src/protyle/render/av/cell.ts index 2a8d80067..4a373a833 100644 --- a/app/src/protyle/render/av/cell.ts +++ b/app/src/protyle/render/av/cell.ts @@ -308,8 +308,15 @@ export const cellScrollIntoView = (blockElement: HTMLElement, cellElement: Eleme } /// #if MOBILE const contentElement = hasClosestByClassName(blockElement, "protyle-content", true); - if (contentElement) { - contentElement.scrollTop = contentElement.scrollTop + cellRect.top - 110; + if (contentElement && cellElement.getAttribute("data-dtype") !== "checkbox") { + const keyboardToolbarElement = document.getElementById("keyboardToolbar") + const keyboardH = parseInt(keyboardToolbarElement.getAttribute("data-keyboardheight")) || (window.outerHeight / 2 - 42) + console.log(keyboardH, window.innerHeight, cellRect.bottom) + if (cellRect.bottom > window.innerHeight - keyboardH - 42) { + contentElement.scrollTop += cellRect.bottom - window.innerHeight + 42 + keyboardH; + } else if (cellRect.top < 110) { + contentElement.scrollTop -= 110 - cellRect.top; + } } /// #else if (!blockElement.querySelector(".av__header")) {