我正在用GWT写一个网页,我使用下面的结构:我有一个VerticalPanel作为导航菜单,里面有一些gwt按钮。然后我有一个VerticalPanel作为contentPanel,不同的超文本标记语言页面可以(通过ClientBundle)加载到其中。contentPane包含单个gwt-HTML-Object,HTML-File将加载到该对象中。现在我在导航菜单中有了一些按钮,我想在contentPanel中像HTML锚一样使用。这有可能吗?因此,当一个较长的HTML-File加载到contentPanel中时,当我单击其中一个按钮时,页面会跳转到HTML-Object中的特定锚点。有什么办法可以实现这一点吗?
发布于 2012-02-10 03:30:50
好吧,我认为应该有两个解决方案:
如果您在导航菜单中使用Anchor小部件或纯html锚,则可以像使用常规html一样执行此操作:
导航菜单:<a href='#myAnchor'>
如果你真的想使用GWT-Button,你可能不得不使用Window.Location。像这样的东西可能会很难用,我自己还没有试过:
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Window.Location.assign('#myAnchor');
}
});或者,您可以在contentPanel <a id='myAnchor'>中设置锚点的id,并使用以下函数滚动到锚点。
Element elem = DOM.getElementById('myAnchor');
if (elem != null) {
elem.scrollIntoView();
}我推荐第一种方法。
https://stackoverflow.com/questions/9207654
复制相似问题