我想要实现的是显示“菜单”范围,当我将鼠标悬停在“标题”范围内时,但只有当我离开“标题”时它才会消失。
<header>
<span id="title">
title etc
</span>
<span id="menu">
menu content etc
</span>
</header>
我写了这个jquery代码,但是当我离开“标题”范围而不是“标题”时,“菜单”范围消失了
$('#title').hover({
$('#menu').toggle();
});
我知道如何解决这个问题吗?
答案 0 :(得分:3)
实现这一目标的一种方法是重新调整菜单,在现实世界中,定位可以照顾它的显示方式。
<header>
<span id="title">
title etc
<span id="menu">
menu content etc
</span>
</span>
</header>
<强> Fiddle 强>
这是一个更复杂的例子。
<span class="title">
title
<span class="menu">
<span class="item">menu11</span>
<span class="item">menu12</span>
<span class="item">menu13</span>
</span>
</span> <span class="title">
title2
<span class="menu">
<span class="item">menu21</span>
<span class="item">menu22</span>
<span class="item">menu23</span>
</span>
</span>
<强> Fiddle 强>
只有css用于上述结构:
.menu {
display:none;
position:absolute;
top:10px;
left:0;
}
.title {
position:relative;
}
.title:hover .menu{
display:block;
}
<强> Fiddle 强>
答案 1 :(得分:2)
怎么样:
$('#title').mouseenter(function(){
$('#menu').show();
});
$('header').mouseleave(function(){
$('#menu').hide();
});
这是一个jsfiddle:http://jsfiddle.net/5sL5g/