mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-01 06:18:49 +01:00
📱 高度计算
This commit is contained in:
parent
8979a8f840
commit
5a68a8c65f
2 changed files with 6 additions and 5 deletions
|
|
@ -145,7 +145,7 @@ window.reconnectWebSocket = () => {
|
|||
};
|
||||
window.goBack = goBack;
|
||||
window.showKeyboardToolbar = (height) => {
|
||||
document.getElementById("keyboardToolbar").setAttribute("data-keyboardheight", (height ? height : window.innerHeight / 2 - 42).toString());
|
||||
document.getElementById("keyboardToolbar").setAttribute("data-keyboardheight", (height ? height : window.outerHeight / 2 - 42).toString());
|
||||
showKeyboardToolbar();
|
||||
};
|
||||
window.hideKeyboardToolbar = hideKeyboardToolbar;
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ export const showKeyboardToolbarUtil = (oldScrollTop: number) => {
|
|||
|
||||
const toolbarElement = document.getElementById("keyboardToolbar");
|
||||
let keyboardHeight = toolbarElement.getAttribute("data-keyboardheight");
|
||||
keyboardHeight = (keyboardHeight ? (parseInt(keyboardHeight) + 42) : window.innerHeight / 2) + "px";
|
||||
keyboardHeight = (keyboardHeight ? (parseInt(keyboardHeight) + 42) : window.outerHeight / 2) + "px";
|
||||
const editor = getCurrentEditor();
|
||||
if (editor) {
|
||||
editor.protyle.element.parentElement.style.paddingBottom = keyboardHeight;
|
||||
|
|
@ -415,12 +415,13 @@ export const showKeyboardToolbar = () => {
|
|||
setTimeout(() => {
|
||||
const contentElement = hasClosestByClassName(range.startContainer, "protyle-content", true);
|
||||
if (contentElement) {
|
||||
const cursorTop = getSelectionPosition(contentElement).top - contentElement.getBoundingClientRect().top;
|
||||
if (cursorTop < window.innerHeight - 118.5) { // 118: contentElement.getBoundingClientRect().top + toolbarElement.clientHeight
|
||||
const contentTop = contentElement.getBoundingClientRect().top;
|
||||
const cursorTop = getSelectionPosition(contentElement).top;
|
||||
if (cursorTop < window.innerHeight - 42 && cursorTop > contentTop) {
|
||||
return;
|
||||
}
|
||||
contentElement.scroll({
|
||||
top: contentElement.scrollTop + cursorTop - ((window.outerHeight - 118.5) / 2 - 26),
|
||||
top: contentElement.scrollTop + cursorTop - window.innerHeight + 42 + 26,
|
||||
left: contentElement.scrollLeft,
|
||||
behavior: "smooth"
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue