获取相对于视口顶部的元素位置

时间:2016-03-23 10:16:24

标签: jquery

我需要获取元素相对于视口顶部的顶部位置,而不是整个文档。

我尝试scrollTop()返回相对于文档的顶部位置,我尝试0总是返回{{1}},无论该元素在视口中是否实际可见。 / p>

2 个答案:

答案 0 :(得分:25)

您可以使用

计算它
$('#element').offset().top - $(window).scrollTop()

工作示例



function get(){
  $('#output').html($('#element').offset().top - $(window).scrollTop());
}

get();
$(window).scroll(get);

#element {
  width:100px;
  height:100px;
  background:red;
}

#output {
  position:fixed;
  background:#000;
  color:#fff;
  width:100%;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="output"></div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<div id="element"></div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
&#13;
&#13;
&#13;

答案 1 :(得分:8)

对于那些寻求非jquery解决方案的人:

//create user object based on firebase user
User _userFromFirebaseUser(FirebaseUser user){

   userId(user.uid);
 //if i comment the above line out my signout works but bookings not
  return user != null ? User(uid: user.uid) : null;

}