我要修改的菜单具有以下 HTML 结构:
<nav>
<ul id="fashionmenu">
<li class=""><a href="#">Home<a/></li>
<li class=""><a href="about.html">About<a/></li>
<li class=""><a href="#">Services</a>
<ul>
<li><a href="#">Service 1</a></li>
<li><a href="#">Service 2</a></li>
</ul>
</li>
<li class=""><a href="#">Contact</a>
</ul>
</nav>
我试图完成的是下拉菜单的延迟,我已经有了它的 Jquery 代码,但由于某种原因我无法理解(这里是我请你指导我的地方)为什么悬停,甚至如果对 hover 有很好的平滑效果,除非我再次将其悬停在菜单上,否则菜单不会退出。但是,当然,我希望每当我将鼠标移动到不同的菜单项时,下拉菜单都会自动退出。
这是javascript:
$(函数(){
$('#fashionmenu > li > ul')
。隐藏()
.click(函数(e){
e.stopPropagation();
});
$('#fashionmenu > li').toggle(function(){
$(这个)
.removeClass('等待')
.find('ul').slideDown();
}, 功能(){
$(这个)
.removeClass('等待')
.find('ul').slideUp();
});
$('#fashionmenu > li').hover(function(){
$(this).addClass('等待');
设置超时(函数(){
$('#fashionmenu .waiting')
。点击()
.removeClass('等待');
},300);
}, 功能(){
$('#fashionmenu .waiting').removeClass('waiting');
});
});
提前感谢您的任何回答。