如何获得偏移()相对于父母在jQuery?
这给了我从主窗口左边缘的一些元素的位置:
$('#bar').offset().left;
如果这个元素位于其他元素的内部,并且我希望#bar相对于#foo(它是父元素)的位置,我怎么能得到它?
<style> #foo { width: 200px; margin: 0 auto; } #foo #bar { width: 50px; margin: 0 auto; } </style> <div id="foo"> <span id="bar"></span> </div>
我看到有一个叫做offsetParent()
的函数,但是在控制台login的时候,它看起来并没有像这个函数有任何叫做left
或x
属性。 所以不知道是否可以用来得到我所需要的。
所以在我上面的例子中,偏移量应该是距父级边缘大约125px,而不是主窗口边缘的数千个像素。
使用position()方法。
$('#bar').position().left;
很简单:获取元素的偏移量,并减去父元素的偏移量。
var elem = $("#bar"); var offset = elem.offset().left - elem.parent().offset().left;
在相对于其父母的div中的位置:
在我的情况下,我想本地化“行”行为div,但当滚动更改,偏移也改变了,位置也改变了,所以我结束了使用
element.get(0).offsetTop
element.offset()。top或者position()对于相对位置来说不是最优的。
offsetLeft = $('#bar').position().left; offsetTop = $('#bar').position().top;