我的流程:
我使用jQuery进行悬停效果,当我将鼠标悬停在列表项中时,我想找到一个子菜单,然后我使用fadeToggle效果。
它就像,当我将鼠标悬停在它上面时,它会查找子列表项目,如果显示它,它将隐藏它是否隐藏它将显示。
如果人们一遍又一遍地快速通过菜单,我会使用stop方法来避免一些奇怪的效果。
我的问题:
我认为我的想法正确但不幸的是我遇到了问题。
子菜单项显示在#banner-container后面的其他元素后面,因此子菜单项不可见。
我曾尝试过这些职位,但到目前为止还没有成功,有谁知道如何解决这个问题?
我在哪里可以看到我的问题:
http://jsfiddle.net/jcak/9EcnL/6/
HTML:
<nav id="menu">
<ul>
<li><a href="index.html">Home</a>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
</ul>
</li>
<li><a href="procuts.html">Procuts</a>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
</ul>
</li>
<li><a href="#">About</a></li>
<li><a href="#">Contacts</a></li>
</ul>
</nav>
jQuery的:
$('li').hover(function(){
$(this).find('ul>li').stop().fadeToggle(300);
});
CSS:
#menu ul li ul li {display:none;}
#menu-container
{
background:green;
width:100%;
height:46px;
float:left;
z-index:7;
}
#menu
{
width:960px;
height:auto;
margin:0 auto 0 auto;
}
#menu ul
{
list-style-type:none;
}
#menu ul li
{
float:left;
height:46px;
line-height:46px;
font-weight:300;
}
#menu ul li a
{
text-decoration:none;
color:#ccc;
display:block;
margin-right:5px;
height:46px;
line-height:46px;
padding:0 5px 0 5px;
font-size:20px;
}
#menu ul li a:hover
{
color:#fff;
}
答案 0 :(得分:1)
你可能想要这样的东西,对吧?
你的javascript很好,你只是忘了在jsfiddle选项中添加jQuery库。我添加了一些CSS来使子菜单显示得更好。
#menu ul li
{
display: inline-block;
float:left;
height:46px;
position: relative;
line-height:46px;
font-weight:300;
}
#menu ul li a
{
text-decoration:none;
color:#ccc;
display:block;
margin-right:5px;
height:46px;
line-height:46px;
padding:0 5px 0 5px;
font-size:20px;
}
#menu ul li a:hover
{
color:#fff;
}
#menu ul li ul {
position: absolute;
left: 0;
-webkit-padding-start: 0;
width: 300px;
}
#menu ul li ul li
{
color:#fff;
}