2012-02-09 212 views
0

我正在GWT中编写一个网页,我使用以下结构:我有一个VerticalPanel作为包含一些gwt按钮的navigationmenu。然后我有一个VerticalPanel作为contentPanel,其中可以加载不同的HTML-Pages(通过ClientBundle)。 contentPane包含一个单独的gwt-HTML-Object,其中加载了HTML文件。 现在我在navigationmenu中有了一些按钮,我想在contentPanel中使用像HTML锚点一样的东西。那可能吗? 因此,当一个更长的HTML文件被加载到contentPanel中,并且我点击其中一个按钮时,该页面将跳转到HTML对象中的特定锚点。 任何想法如何实现这一点?在GWT中的HTML对象锚锚

回答

1

嗯,我觉得应该有两种解决方案:

如果使用锚部件或普通的HTML锚在导航菜单中,你可以做到这一点,就像一般的HTML:

导航菜单<a href='#myAnchor'>

如果你真的想使用GWT按钮,你可能必须使用Window.Location。像这样的东西可能会奏效强硬。我还没有尝试过自己:

button.addClickHandler(new ClickHandler() { 
    public void onClick(ClickEvent event) { 
     Window.Location.assign('#myAnchor'); 
    } 
}); 

另外,您可以设置的锚的标识在你的ContentPanel <a id='myAnchor'>和使用下面的函数滚动到锚。

Element elem = DOM.getElementById('myAnchor'); 
    if (elem != null) { 
     elem.scrollIntoView(); 
    } 

我推荐第一种方法。

+0

谢谢你...与DOM的想法是我一直在寻找:) – 2012-02-10 10:35:25