2012-02-09 9 views
0

私はGWTでWebページを作成していますが、私は次の構造を使用しています。ナビゲーションパネルにはいくつかのgwtボタンを含むVerticalPanelがあります。次に私は、異なるHTMLページを(ClientBundleを介して)読み込むことができるcontentPanelとしてVerticalPanelを持っています。 contentPaneには、HTML-Fileがロードされる単一のgwt-HTML-Objectが格納されています。 ナビゲーションメニューにいくつかのボタンがあります。私はcontentPanelでHTMLアンカーのように使いたいと思います。それは可能ですか? したがって、より長いHTMLファイルがcontentPanelにロードされ、これらのボタンの1つでクリックを実行すると、そのページはHTMLオブジェクトの特定のアンカーにジャンプします。 これを実現する方法はありますか?GWT内のHTMLオブジェクトのアンカー

答えて

1

まあ私は2つの解決策があるはずだと思う:

あなたがアンカーウィジェットまたはプレーンHTMLアンカーのあなただけの通常のHTMLと同じようにそれを行うことができますナビゲーションメニューでを使用する場合:

ナビゲーションメニュー<a href='#myAnchor'>

実際にGWT-Buttonsを使用する場合は、おそらく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(); 
    } 

私は最初のアプローチを推奨します。

+0

ありがとうございました... DOMのアイデアは、私が探していたものでした:) –

関連する問題