如何在angularjs中获取元素的当前位置

PRA*_*MAR 5 javascript events dom-manipulation angularjs

我想在滚动页面时更改用户界面,为此我想获取 div 元素(顶部和底部)的位置,我该如何在 angularjs 中做到这一点?在以下代码中,我如何获得 top_position?

var w=angular.element($window);

w.bind('scroll', function(){

    var top_div=angular.element($('#top-div'));
    // now here what function should i use ?
    console.log("the top of the div having id top-div:"+**top_position**);

});
Run Code Online (Sandbox Code Playgroud)

Pan*_*kar 2

基本上,您可以使用两个选项来获取top所需元素的位置。

  1. .offset()这将为您提供元素的位置并可以提供top位置left。但这确实是根据document高度计算的,而不是根据视口高度计算的。
  2. .scrollTop()您可以通过此方法获取与视口(窗口)相关的高度。我认为这是适合去的事情。

除此之外,我建议您将代码移至指令,以便您可以更好地控制该 DOM。