我需要获取元素相对于视口顶部的顶部位置,而不是整个文档。
我尝试scrollTop()
返回相对于文档的顶部位置,我尝试0
总是返回{{1}},无论该元素在视口中是否实际可见。 / p>
答案 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;
答案 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;
}