jquery - 连续悬停在多个元素上

标签 jquery css jquery-hover

我有两个相邻元素 $("#video")$("#progress") .

我想要第三个元素$("#time")使用 fadeIn 显示当鼠标进入这些元素之一,并使用 fadeOut 再次隐藏时当鼠标离开元素时。我可以让它工作,但有一个小问题。

每当鼠标进入其中一个元素,从另一个元素出来时,$("#time")元素首先被隐藏,然后再次显示,而我希望它始终显示。

This jsfiddle更清楚地展示了这个问题。

如何解决这个问题?

请注意,尽管这些元素在网页中彼此靠近,但实际上在代码中是完全分开的,因此不可能将它们全部放在一个大的 div 中并将鼠标悬停在该 div 上。

最佳答案

你可以用另一个 div 包裹这两个元素

<div id='wrapper'>
  <div id="video" style="background: green; height: 100px;" class="hover">VIDEO</div>
  <div id="progress" style="background:red" class="hover">bar</div>
</div>
<div id="time" style="display: none">01:35</div>

然后将 hover 绑定(bind)到包装 div

$("#wrapper").hover(function () {
  $("#time").fadeIn(300);
}, function () {
  $("#time").fadeOut(300);
});

FIDDLE

关于jquery - 连续悬停在多个元素上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14201099/

相关文章:

html - 如何在css中隐藏div的内容

javascript - 检查元素宽度的最佳方法?

javascript - 悬停时(或不悬停)隐藏元素的 jQuery 目标父级

javascript - 如何从异步调用返回响应?

javascript - 文字溢出时跑马灯

javascript - 列表元素像新闻贴纸一样垂直滚动

javascript - 下拉悬停 CSS

html - 设置 flex 元素之间的垂直间隙

jQuery ('hover' )事件替换

javascript - 如何仅当通过 jQuery 悬停一个表行(而不是悬停的行)时才向每个表行添加属性?