javascript - 如何在AngularJS中获取offsetHeight、scrollHeight

标签 javascript angularjs

我正在创建一个指令,其中需要三个值-

  1. 滚动顶部
  2. 偏移高度
  3. 滚动高度

    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.scrollHeightdocument.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/

相关文章:

javascript - 如何在 yeoman Angular bootstrap-saas i 中从 main.scss 生成 css

angularjs - 如何在 Angular js中制作自定义指令或在指令中传递变量

javascript - 使用 AngularJS 注册

javascript - AngularJS angular-ui bootstrap timepicker 作为下拉菜单

javascript - YUI 替换 jQuery.replaceWith 和 jquery.append

javascript - 从 Javascript 中的字符串获取版本号?

javascript - AngularJS Ng-repeat,用表达式创建动态 dom

javascript - 如果我知道页面数,如何在 AngularJS 中创建页面项?

javascript - Angular ng-show ng-hide 动画

javascript - 如何将这两个索引定位过滤器变成一个通用过滤器?