JavaGWT:如何滚动到页面底部?
在我的页面上,我有一个默认隐藏的面板。必要时,我可以通过myPanel.setVisible(true)
显示它。之后,窗口的高度增加,窗口滚动条出现
问题是窗口不会自动滚动到底部,这是一种理想的行为。我怎样才能修好它?我只想把我的页面滚动到底部
我知道Window.scrollTo (LEFT, TOP)
可以帮助我。但问题是,我不知道如何计算页面相对于顶部的高度,这是我需要为该方法提供的第二个参数。我真的尝试了很多方法:
Window.getClientHeight();
Document.get().getScrollHeight();
Document.get().getBody().getOffsetHeight();
Document.get().getBody().getAbsoluteBottom();
前两个在隐藏面板可见后不会更改其值。第二对给了我0和8(?)价值观
那么我该如何解决我的问题呢
ps 如果情况有点不同,我有一个带有滚动条的div,而不是窗口滚动条,是否可以通过编程将其滚动到底部
# 1 楼答案
它是简单的面板还是它的某个子类
在任何情况下,请先尝试以下方法:
然后滚动到与top聚合的某个值
从API:
public int getAbsoluteTop()
获取从浏览器窗口的客户端区域测量的对象绝对顶部位置(以像素为单位)
# 2 楼答案
如果需要,可以创建带有id的小部件句柄。 例如:
widget.getElement().setId("scrollPanel");
然后,您可以使用
Document.get().getElementById("scrollPanelFooter").scrollIntoView();
滚动小部件上的视图 更简单# 3 楼答案
实际上,你不需要知道页面的大小就可以滚动到底部。使用
Window.scrollTo(0, Integer.MAX_VALUE);
至少这对我一直有效
# 4 楼答案
要向下滚动文档,应使用Window对象中的scrollTo方法,即:
# 5 楼答案
可以使用setVerticalScrollPostionAPI设置滚动的位置