我有一个不正常的菜单。看看这段代码:http://jsfiddle.net/PX9nU/1/
在#menu li
上,如果我离开position: relative
,控制台会在您悬停时在所有菜单项中记录左侧0。如果我删除position: relative
,它会记录每个项目的预期正确左值。
我需要position: relative
以便子菜单正确格式化,但我需要左值来正确输出我想要实现的动画。
- 为什么左边没有返回position: relative
到期的预期值?
- 还有另一种方法可以在每个项目悬停时获得左侧值吗?
答案 0 :(得分:1)
问题是你的jQuery选择器。您正在选择$('#menu li .item')
,它会返回链接元素。在那些上调用position()
会在其父元素中给出它们的位置,即封闭的LI,在每种情况下都是0,0。我想你想要封闭的LI在其UL中的位置,你可以这样做:
p = $(this).parent().position();