【问题标题】:Jquery hover for the lowest element layerJquery悬停在最低元素层
【发布时间】:2014-07-18 08:32:28
【问题描述】:

例如我得到了这个 html:

<div id="div1">
    <div id="div2"></div>
</div>

div2 是 display:none。

那么有没有 jquery 方法,在 div1 上触发悬停功能,显示 div2。

像这样:

$('#div1').hover(function(){
    $('#div2').stop().fadeIn();
}, function(){
    $('#div2').stop().fadeOut();
});

我有一个更大的代码,但它太大而无法发布。我尝试的每个功能都不是很好。我只想在最低层元素 div1 上触发悬停。但大多数情况下,如果fadeIn() 被触发并且光标移到它上面,div1 上的悬停效果就会结束。

是否有包含所有子元素的悬停功能?

【问题讨论】:

  • 使用 mouserover 将适用于所有子元素。
  • 好的,我试试。感谢您的评论。
  • 不是 hover() 的组合 mouserover()mouseout 吗?

标签: javascript jquery html css hover


【解决方案1】:

如果我理解您想在父级悬停时淡入所有子级?

看到你的问题中标记了 CSS,我会给出一个 CSS 答案:

Demo Fiddle

#div1 *{
   opacity:0;
   transition:opacity 200ms ease-in;
}
#div1:hover *{
   opacity:1;
}

【讨论】:

  • 好的,感谢您的快速答复。这我不知道这个 css 解决方案,非常有趣。但这对我来说只是一个例子,真正的函数有 div,左上角动画,以便永久移动。如果我悬停其中之一,它应该停止并显示子元素。正常的 jquery 悬停功能有效,但每次我将子元素放置在触发外功能而不是子元素的功能内。这会引发丑陋的错误:/
  • 您还可以使用 CSS 过渡/动画来管理移动吗?
  • 不是我想的全部。 div 移动到的坐标是随机渲染的。但我没有尝试在 css 中这样做。我会在几分钟内给你反馈。
  • 感谢到目前为止,但动画停止功能完全抛出错误。我想现在我已经尝试了所有我知道的解决方案。 moseenter/mouseleave/hover/mouseover/mouseout/css.还有其他想法吗? ://
【解决方案2】:

如何使用 Jquery 的第 N 个子选择器。我无法在此处粘贴示例,因为我目前在外面。 但是,如果您阅读它,这应该可以工作。 http://api.jquery.com/nth-child-selector/

【讨论】:

    猜你喜欢
    • 2012-04-05
    • 2011-06-02
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2011-10-10
    • 2019-06-26
    • 2013-08-01
    相关资源
    最近更新 更多