[英]How to get offsetHeight, scrollHeight in AngularJS
我正在創建一個指令,其中我需要三個值:
scrollHeight屬性
projectModule.directive('scroller', function ($window) { return { restrict: 'A', link: function (scope, elem, attrs) { var rawElement = angular.element($window); angular.element($window).bind('scroll', function () { var scrollTop = rawElement.scrollTop(); var offsetHeight = rawElement.offsetHeight; var scrollHeight = rawElement.scrollHeight; console.log(scrollTop + " ," + offsetHeight + " ," + scrollHeight); scope.$apply(); }); }; });
我可以使用rawElement.scrollTop()函數直接獲取scrollTop,但是如何獲取該元素的offsetHeight和scrollHeight呢?
我想運用這種邏輯-
if ((rawElement.scrollTop + rawElement.offsetHeight + 5) >= rawElement.scrollHeight) {
scope.$apply(); //For infinite scrolling
}
提前致謝。
我會嘗試使用$document
服務,因為您實際上需要document.body.scrollHeight
和document.body.offsetHeight
。 所以
var offsetHeight = $document[0].body.offsetHeight;
var scrollHeight = $document[0].body.scrollHeight;
如果$ el是實際的DOM元素,可以使用getBoundingClientRect嗎?
var top = $el.getBoundingClientRect().top;
您也可以嘗試使用
$el.prop('offsetTop')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.