我正在创建一个指令,其中需要三个值-
- 滚动顶部
- 偏移高度
滚动高度
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;
关于javascript - 如何在AngularJS中获取offsetHeight、scrollHeight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375793/