Javascript 使用.position和css position:relative未按预期工作

Javascript 使用.position和css position:relative未按预期工作,javascript,css,Javascript,Css,我的菜单不太好用。请查看以下代码: 在#menu li上,如果我将位置:relative保留在原位,则当您悬停时,控制台会记录所有菜单项的左0。如果我删除位置:相对,它会记录每个项目的预期正确左值 我需要position:relative来正确设置子菜单的格式,但是我需要左值来正确输出我试图实现的一些动画 -为什么左侧在位置:relative处于适当位置时未返回预期值 -是否有其他方法可以在每个项目悬停时获取其左值?问题在于jQuery选择器。您正在使用$('#menu li.item')进行选

我的菜单不太好用。请查看以下代码:

#menu li
上,如果我将
位置:relative
保留在原位,则当您悬停时,控制台会记录所有菜单项的左0。如果我删除
位置:相对
,它会记录每个项目的预期正确左值

我需要
position:relative
来正确设置子菜单的格式,但是我需要左值来正确输出我试图实现的一些动画

-为什么左侧在
位置:relative
处于适当位置时未返回预期值


-是否有其他方法可以在每个项目悬停时获取其左值?

问题在于jQuery选择器。您正在使用
$('#menu li.item')
进行选择,这将返回链接元素。对这些元素调用
position()
,给出它们在父元素中的位置,即封闭的LI,在每种情况下都是0,0。我想你想知道封闭LI在UL中的位置,你可以这样得到:

p = $(this).parent().position();

期望值到底是多少?如果您将position:relative(或任何位置)设置为top,并将默认值设置为0,直到您将其设置为其他值。在您提供的链接中,没有为任何元素设置left或top属性。请尝试使用.Offset()方法