计算滚动元素的偏移顶部

时间:2017-10-10 13:22:58

标签: javascript angularjs

如何在滚动时查看页面上前3个元素的偏移量?我有3个ID #first, #second, #third的部分,我想在滚动时计算它们在窗口内的偏移量。

我通过ID得到了这些元素:

$scope.first = angular.element(document.querySelector('#first'));
$scope.second = angular.element(document.querySelector('#second'));

但现在我不知道如何检查偏移并根据它将一些变量分配给true / false。提前谢谢!

2 个答案:

答案 0 :(得分:0)

您不需要angular.elementdocument.querySelector('#first').offsetTop是您正在寻找的。如果要在滚动时获取这些值,还需要向窗口scroll事件添加一个监听器:

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);
});

答案 1 :(得分:-1)

$(window).scrollTop()可用于计算用户向下滚动的程度。

{{1}}