特定のウィジェットがビューポートに表示されているかどうかを判断できますか?GWTのビューポートにウィジェットが表示されているかどうかを確認します
私のリストウィジェットの最後のウィジェットがユーザーに表示されたら、さらにデータのロードを開始したいと考えています。最後のウィジェットが表示されている場合はスクロールイベントを処理し、さらにイベントをチェックする場合はrpcの呼び出しでより多くのデータを取得することができます。
特定のウィジェットがビューポートに表示されているかどうかを判断できますか?GWTのビューポートにウィジェットが表示されているかどうかを確認します
私のリストウィジェットの最後のウィジェットがユーザーに表示されたら、さらにデータのロードを開始したいと考えています。最後のウィジェットが表示されている場合はスクロールイベントを処理し、さらにイベントをチェックする場合はrpcの呼び出しでより多くのデータを取得することができます。
BRはGWT Showcase's CellList
sampleからShowMorePagerPanel
を見てください。
あなたがしたい場合があります、しかしgetOffsetParent()
「(要素の用心ウィジェットは、現在のビューでであるかどうかを計算するためのgetOffsetTop()
やスクロール要素のgetScrollTop()
(ScrollPanel
ためgetVerticalScrollPosition()
に相当)」ウィジェットのgetElement()
を使用することができますposition
relative
には、そのウィジェットのオフセット親)
はここで(それがjQueryのソリューションhereから翻訳された)仕事をしてGWTの方法だ作るためにスクロール要素のCSS設定。
/**
* @param widget the widget to check
* @return true if the widget is in the visible part of the page
*/
private boolean isScrolledIntoView(Widget widget) {
if (widget != null) {
int docViewTop = Window.getScrollTop();
int docViewBottom = docViewTop + Window.getClientHeight();
int elemTop = widget.getAbsoluteTop();
int elemBottom = elemTop + widget.getOffsetHeight();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
return false;
}