1

「スクロールするものはまだありますか、それとも Angular のスクロール可能な領域の一番下に達しましたか?」と尋ねる最良の方法は何ですか?

固定の下部ナビゲーション バーを備えた単一ページ アプリがあり、ページの最後にないことを条件として、表示するコンテンツが他にもあることを示す UI キューを表示したいと考えています。これを行うブックマーク方法(ハッシュタグ)があると思います。

4

1 に答える 1

5

ここに一種の解決策があります:スクロールイベントをバインドするディレクティブを作成しました。下にスクロールできる場合は、コンパイル時に追加されたdivを表示します:

app.directive('thereIsMore', function() {
  return {
    restrict: 'A',    
    scope: true,
    compile: function(tElement) {
      tElement.append('<div class="there-is-more" ng-show="bottom">There is more...</div>');
      return function(scope, element) {
        var elm = element[0];        
        var check = function() {
          scope.bottom = !(elm.offsetHeight + elm.scrollTop >= elm.scrollHeight);
        };
        element.bind('scroll', function() {
          scope.$apply(check);          
        });
        check();        
        }; // end of link 
    }    
  };
});

作業例: http://plnkr.co/edit/8W3E7BunpDxIkEPDqxzb?p=preview

于 2013-02-06T10:07:28.683 に答える