我正在使用position : fixed
作为div在页面顶部使用div,但是当我使用offset().top
作为其子值时,它会在滚动时给出不同的值。我尝试过:
CSS:
.parent{
position : fixed;
top : 0px;
}
.child{
height : 20px;
margin-top : 10px;
}
JS:
console.log($(".child").offset().top);
当我滚动页面时,上面的JS代码会给出不同的结果。
答案 0 :(得分:7)
使用.position()获取元素相对于其偏移父元素的当前坐标。 .offset()方法为您提供相对于整个文档的坐标。
$(".child").position()
答案 1 :(得分:0)
您可以在此处阅读:http://api.jquery.com/offset/
获取第一个元素的当前坐标,或者在匹配元素集中相对于文档设置每个元素的坐标。
offset()。top为您提供从元素到页面顶部的像素。
也许你应该使用。{(3}}
的.position()。top quote将此与.position()进行对比,该位置检索相对于偏移父项的当前位置。
答案 2 :(得分:0)
您可以使用jquery position.top
获取div的最高位置http://api.jquery.com/position/
答案 3 :(得分:0)
您可以查看以下链接。有一个解释如何计算顶部位置考虑scrollTop。 https://stackoverflow.com/a/10340741/851516