2012-03-03 2 views
2

特定のウィジェットがビューポートに表示されているかどうかを判断できますか?GWTのビューポートにウィジェットが表示されているかどうかを確認します

私のリストウィジェットの最後のウィジェットがユーザーに表示されたら、さらにデータのロードを開始したいと考えています。最後のウィジェットが表示されている場合はスクロールイベントを処理し、さらにイベントをチェックする場合はrpcの呼び出しでより多くのデータを取得することができます。

答えて

0

BRはGWT Showcase's CellList sampleからShowMorePagerPanelを見てください。

あなたがしたい場合があります、しかしgetOffsetParent()「(要素の用心ウィジェットは、現在のビューでであるかどうかを計算するためのgetOffsetTop()やスクロール要素のgetScrollTop()ScrollPanelためgetVerticalScrollPosition()に相当)」ウィジェットのgetElement()を使用することができますpositionrelativeには、そのウィジェットのオフセット親

1

はここで(それが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; 
} 
関連する問題