「スクロールするものはまだありますか、それとも Angular のスクロール可能な領域の一番下に達しましたか?」と尋ねる最良の方法は何ですか?
固定の下部ナビゲーション バーを備えた単一ページ アプリがあり、ページの最後にないことを条件として、表示するコンテンツが他にもあることを示す UI キューを表示したいと考えています。これを行うブックマーク方法(ハッシュタグ)があると思います。
「スクロールするものはまだありますか、それとも Angular のスクロール可能な領域の一番下に達しましたか?」と尋ねる最良の方法は何ですか?
固定の下部ナビゲーション バーを備えた単一ページ アプリがあり、ページの最後にないことを条件として、表示するコンテンツが他にもあることを示す UI キューを表示したいと考えています。これを行うブックマーク方法(ハッシュタグ)があると思います。
ここに一種の解決策があります:スクロールイベントをバインドするディレクティブを作成しました。下にスクロールできる場合は、コンパイル時に追加された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
}
};
});