我面临设置滚动条顶部位置的问题。其实我需要的是;我正在使用一个 JQuery 键盘插件,我需要在页面的中心底部显示虚拟键盘并完成所有元素。
但是我遇到的问题是,当我在页面底部附近有一个输入字段时,该页面不显示滚动条(这意味着不需要溢出,因为我拥有的所有元素都在我的页面中可见) . 由于我在页面底部显示虚拟键盘并且当焦点元素也位于页面底部时,我需要启动滚动条并且页面应该通过自动向下滚动来上升,因此活动输入字段元素对我。
我试图通过使用这个来设置滚动条
$(document).scrollTop(_scroll_top + (_el_top + _el_height) - _keyboard_top);
其中 _scroll_top 是我当前的滚动顶部位置,_el_top 是焦点元素顶部位置,_el_height 是我的焦点元素高度,_keyboard_top 是键盘的顶部位置。
现在的问题是当我有一个更高的页面时(这意味着滚动条尺寸很小,即滚动条尺寸可能约为屏幕的 60%。高度)scrollTop 工作正常,即使键盘是,我也可以看到活动输入元素可见的。但是当我的页面高度较小时(例如:滚动条大小约为 90% 或者它可能与屏幕大小相同。高度)scrollTop 无法正常工作,因此活动输入元素不可见并且它落后于虚拟键盘。
如何正确设置滚动顶部,以便我能够看到活动输入元素,然后在该元素的底部我可以看到虚拟键盘。
请看附图。那是应该显示实际活动输入元素的地方。
第一张图片是在启用键盘之前:只看到元素的位置,滚动顶部
第二张图片是在启用键盘之后:只看到元素的位置,滚动顶部
当我的滚动条尺寸很大(大约 90% 的屏幕。高度)时,这就是我所需要的
提前致谢。
PS:如果我表达我的问题的方式混淆了,我非常抱歉。