我在使用此菜单时遇到问题,当我将鼠标悬停在子类别时,它们会保持滑动状态。
我希望在我悬停它时保留子类别,当我将鼠标移到外面时它会滑动,同样转到主要类别。请帮忙。我一直在研究这个1小时但没有解决方案。
$(document).ready(function(){
$('ul#level1').slideUp();
$('a#tab').hover(function(){
var content_show = $(this).attr('title');
$('.'+ content_show).stop().slideDown();
},function(){
var content_show = $(this).attr('title');
$('.'+ content_show).stop().slideUp();
});
});
<li><a href="#" id="tab" class="active" title="one">Sport</a>
<ul id="level1" class="one">
<li><a href="#">View All</a></li>
<li><a href="#" >Shoes</a></li>
<li><a href="#" >T-Shirt</a></li>
<li><a href="#" >Tools</a></li>
<li><a href="#" >Hats</a></li>
<li><a href="#">Pants</a></li>
</ul>
</li>
<li><a href="#" id="tab" class="tab" title="two">Foods</a>
<ul id="level1" class="two">
<li><a href="#">Link Here</a></li>
<li><a href="#">Link Here</a></li>
<li><a href="#">Link Here</a></li>
<li><a href="#">Link Here</a></li>
<li><a href="#">Link Here</a></li>
</ul>
</li>
答案 0 :(得分:0)
你的结构似乎没问题。使用纯CSS查看此代码,因为这可以帮助您将其移植到JavaScript。您无需使用title
:
<ul class="nav">
<li>
<a href="#">Menu 1</a>
<ul>
<li><a href="#">Sub Menu Item</a></li>
<li><a href="#">Sub Menu Item</a></li>
<li><a href="#">Sub Menu Item</a></li>
</ul>
</li>
<li>
<a href="#">Menu 2</a>
<ul>
<li><a href="#">Sub Menu Item</a></li>
<li><a href="#">Sub Menu Item</a></li>
<li><a href="#">Sub Menu Item</a></li>
</ul>
</li>
<li>
<a href="#">Menu 3</a>
<ul>
<li><a href="#">Sub Menu Item</a></li>
<li><a href="#">Sub Menu Item</a></li>
<li><a href="#">Sub Menu Item</a></li>
</ul>
</li>
</ul>
* {font-family: "Segoe UI", Tahoma;}
ul.nav {border-bottom: 1px solid #999;}
ul.nav li a {display: block; text-decoration: none; color: #333; padding: 5px; border: 1px solid #fff;}
ul.nav > li:hover {border: 1px solid #666; border-bottom: 1px solid #fff;}
ul.nav li a:hover {background: #ccc; border: 1px solid #999;}
ul.nav > li {display: inline-block; position: relative; border: 1px solid #fff;}
ul.nav > li ul {display: none; position: absolute; left: -1px; width: 150px; border: 1px solid #666; border-top-color: #fff; margin-top: 1px;}
ul.nav > li:hover ul {display: block;}
ul.nav > li ul li {display: block;} /* Vertical Menu */
ul.nav > li ul li {display: inline-block;} /* Horizontal Menu */
答案 1 :(得分:0)
尝试滑动您的<li>
而不是<a>
DEMO :http://jsfiddle.net/yosafatade/VNkbp/
其实我同意@PraveenKumar但是如果你仍然想使用jquery我建议你使用slideToggle()