jQuery自动元素定位

时间:2011-08-30 18:46:37

标签: jquery css xhtml

当您将鼠标悬停在菜单项上时,我想使用jQuery将箭头滑过菜单项。

您需要知道的是菜单位于带 li 项的 ul 元素中,文字以 text-align:center

箭头位于 ul 上方的 div 中。在 div 中,名为“arrow-container”是另一个 div ,名为“arrow”

箭头容器位于相对位置,箭头位于绝对位置。

一切都是1000px宽

提前感谢您的帮助!

jQuery arrow

请明确表示,我希望使用.animate()滑动箭头,而不是让它弹出菜单项

1 个答案:

答案 0 :(得分:1)

我会这样做。使用$('#target').position(),您将获得元素与其父元素的相对坐标的对象。添加元素宽度的一半,减去箭头宽度的一半应该将箭头定位在目标元素的中间上方。

$('.menuElement').mouseenter(function() {
  $('#arrow').stop().animate({
    left: $(this).position().left+$(this).width()/2-$('#arrow').width()/2
  },{
    duration: 500,
    easing: 'swing'
  });
});