2

私のページには、デフォルトで非表示になっているパネルがあります。必要に応じて見せることができmyPanel.setVisible(true)ます。この後、ウィンドウの高さが増加し、ウィンドウのスクロールバーが表示されます。

問題は、ウィンドウが自動的に一番下までスクロールされないことです。これは望ましい動作です。どうすれば修正できますか?ページを一番下までスクロールしたいだけです。

私は私Window.scrollTo (LEFT, TOP)を助けることができることを知っています。しかし、問題は、上部を基準にしたページの高さを計算する方法がわからないことです。このメソッドに提供する必要がある2番目のパラメーターです。私は本当に多くの方法を試しました:

Window.getClientHeight();
Document.get().getScrollHeight();
Document.get().getBody().getOffsetHeight();
Document.get().getBody().getAbsoluteBottom();

非表示のパネルが表示された後、最初の2つは値を変更しません。2番目のペアは0と8(​​???)の値を与えます。

では、どうすれば問題を解決できますか?

ps状況が少し異なり、ウィンドウのスクロールバーではなくスクロールバーのあるdivがある場合、プログラムで一番下までスクロールすることはできますか?

4

5 に答える 5

1

setVerticalScrollPostion API を使用して、スクロールの位置を設定できます。

于 2013-02-05T04:04:29.970 に答える
0

それは単純なパネルですか、それともそのサブクラスですか。

いずれにせよ、最初に次を試してください。

int top = myPanel.getAbsoluteTop();

次に、top で集計された値までスクロールします。

API から:

public int getAbsoluteTop()

ブラウザー ウィンドウのクライアント領域から測定された、オブジェクトの絶対上部位置をピクセル単位で取得します。

于 2013-02-04T15:03:09.733 に答える