jQuery自动元素定位

标签 jquery css xhtml

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

你需要知道的是,菜单是在一个包含li项的ul元素中,文本以text-align:center

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

arrow-container 是相对定位的,arrow 是绝对定位的。

一切都是 1000px 宽

在此先感谢您的帮助!

jQuery arrow

请说清楚,我希望使用 .animate() 来滑动箭头,而不是让它在菜单项上方弹出

最佳答案

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

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

关于jQuery自动元素定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7248198/

相关文章:

jquery - 将段落与同一行上的两个跨度对齐

jQuery html() 使用 ?_=1365695139815 获取 Javascript (.js)

css - 为什么 Electron 窗口在我的 Canvas 周围有边框?

html - 如何使无序列表保持在屏幕中心?

javascript - 如何使悬停背景平滑淡入淡出?

javascript - 如何动态更改dataTable jQuery插件的标题?

html - 灰色表情符号字符 (HTML/CSS)

javascript - <div> 的样式以模拟弹出窗口的行为

javascript - 如何在此 jQuery 滚动脚本中使滚动速度变慢?

javascript - 下载文件后如何关闭引导模式弹出窗口