2011-03-22 63 views
10

我想获得一个元素相对于的偏移量,而不是直接的而不是文档的特定父项如何获得相对于特定父级的偏移量?

我在网上寻找,发现了offsetposition JQuery方法。但似乎他们不帮我在我的情况(相对于一个特定的父母)

任何帮助!

+3

你总是可以减去像两个位置:'$ e.position()。 left - $ e.parent()。position()。left' – Teneff 2011-03-22 10:08:05

回答

19

你可以试试这个:

var offsetLeft = $('#myElement').position().left - $('#myElement').closest('#crazyAncestor').position().left; 
var offsetTop = $('#myElement').position().top - $('#myElement').closest('#crazyAncestor').position().top; 
+0

这真的帮了我。谢谢 – atmd 2012-02-02 14:25:01

+1

加上一个“疯狂的祖先”我们都得到了'电子 – ne1410s 2016-08-11 14:42:07

+0

但这不会考虑中间祖先的位置 – user151496 2016-10-24 20:09:04

0

你需要减去胶印意味着导航窗口

var offset = GetOffSet($("#a"), $("#b")); 

function GetOffSet(elem, elemParent) { 
    return elemParent.position().left - elem.parent().position().left; 
} 
+0

这实际上会返回一个负偏移量,因为您从父项的偏移量中减去了子项的偏移量,反之亦然。 – 2011-03-22 10:24:19

+2

好吧,只需改变它然后:D eehehe – balexandre 2011-03-22 11:29:25

相关问题