Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算滚动条上元素的顶部偏移量_Javascript_Angularjs - Fatal编程技术网

Javascript 计算滚动条上元素的顶部偏移量

Javascript 计算滚动条上元素的顶部偏移量,javascript,angularjs,Javascript,Angularjs,如何检查我的页面上的前3个元素在im滚动时的偏移量?我有三个ID为first、second、third的部分,我想计算滚动时窗口内的偏移量 我通过ID获得了这些元素,如下所示: $scope.first = angular.element(document.querySelector('#first')); $scope.second = angular.element(document.querySelector('#second')); 但是现在我不知道如何检查偏移量,并根据它将一些变量分

如何检查我的页面上的前3个元素在im滚动时的偏移量?我有三个ID为first、second、third的部分,我想计算滚动时窗口内的偏移量

我通过ID获得了这些元素,如下所示:

$scope.first = angular.element(document.querySelector('#first'));
$scope.second = angular.element(document.querySelector('#second'));
但是现在我不知道如何检查偏移量,并根据它将一些变量分配给true/false。提前谢谢

您不需要angular.element来执行此操作。document.querySelector'first'。offsetTop是您要寻找的。如果要在滚动时获取这些值,还需要向窗口滚动事件添加侦听器:

const first = document.querySelector('#first');
const second = document.querySelector('#second');

const scrollListener = () => {
  console.log(first.offsetTop, second.offsetTop)
};
window.addEventListener('scroll', scrollListener);

// Don't forget to remove listener
$scope.$on('$destroy', () => {
  window.removeEventListener(scrollListener);
});

$window.scrollTop用于计算用户向下滚动的次数

$(document).ready(function(){
    $(window).scroll(function() {
      var first = $("#first");
      var winOffset_first = first.offset().top - $(window).scrollTop();
      console.log(winOffset_first)
    });
});