簡體   English   中英

如何在AngularJS中獲取offsetHeight,scrollHeight

[英]How to get offsetHeight, scrollHeight in AngularJS

我正在創建一個指令,其中我需要三個值:

  1. scrollTop的
  2. 的offsetHeight
  3. 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.scrollHeightdocument.body.offsetHeight 所以

var offsetHeight = $document[0].body.offsetHeight;
var scrollHeight = $document[0].body.scrollHeight;

如果$ el是實際的DOM元素,可以使用getBoundingClientRect嗎?

var top = $el.getBoundingClientRect().top;

的jsfiddle

您也可以嘗試使用

$el.prop('offsetTop')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM