保持悬停状态在两个元素之间保持活动状态

时间:2014-04-17 17:49:57

标签: javascript jquery html css jquery-hover

所以我有两个元素在彼此之上。

'#a':当前具有可见性:隐藏已应用。 '#b':可见。

我希望能够将鼠标悬停在#b上以显示#a,然后能够鼠标悬停#a并让它保持可见,即使我已经不再使用#b了。这是#a可以与之互动。

如果将鼠标移出#a和#b,它就会消失。我尝试将同一个类应用于'.hover'并使用以下内容无效。

$('.hover').hover(function(){$('#a').css('visibility','visible');},function(){$('#a').css('visibility','hidden');});

2 个答案:

答案 0 :(得分:0)

如果它们都在同一个容器中,只需将:hover伪类应用于父元素,然后使用该元素应用样式。

<强> HTML

<a class="hoverable">
    <div id="a">Foo</div>
    <dvi id="b">Bar</div>
</a>

<强> CSS

.hoverable:hover #a, .hoverable:hover #b {
    visibility:visible;
}

应该承担类似的事情。但是,如果这些项目不在普通父母中,则这对您不起作用。请发布您的代码,以便我们更好地理解:)

替代概念

如果两个元素都是直接兄弟姐妹,你也可以尝试一下

#b:hover + #a {
    visibility:visible
}

这需要在a之前绘制。你可以使用其他css来操纵这个排序。

答案 1 :(得分:0)

如果你的元素没有连接,你可以尝试b上的mouseenter和

上的mouseleave

Fiddle for mosue enter on one and mouseleave on another

 $("#b").mouseenter(function() {
    $("#a").show();
 });
 $("#a").mouseleave(function() {
    $("#a").hide();
 });