Javascript 如何在AngularJS中获得离视、滚动高度
我正在创建一个指令,其中需要三个值-Javascript 如何在AngularJS中获得离视、滚动高度,javascript,angularjs,Javascript,Angularjs,我正在创建一个指令,其中需要三个值- 卷轴 越界 卷轴高度 projectModule.directive('scroller', function ($window) { return { restrict: 'A', link: function (scope, elem, attrs) { var rawElement = angular.element($window); angular.element($window).bind('scroll', function (
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();
});
};
});
if ((rawElement.scrollTop + rawElement.offsetHeight + 5) >= rawElement.scrollHeight) {
scope.$apply(); //For infinite scrolling
}
提前感谢。如果$el是实际的DOM元素,您可以使用getBoundingClientRect吗
var top = $el.getBoundingClientRect().top;
您也可以尝试使用
$el.prop('offsetTop')
我会尝试使用
$document
服务,因为您实际上需要document.body.scrollHeight
和document.body.offsetHeight
。所以
var offsetHeight = $document[0].body.offsetHeight;
var scrollHeight = $document[0].body.scrollHeight;