我一直在尝试使用 CSS & jquery 制作一个水平滑出菜单。
问题: 1) CSS - 当悬停在选项上时(在这种情况下为“服务”),菜单的其余部分被按下。我不知道如何克服这一点。
2)我能做些什么来使菜单在活动选项上保持打开状态吗?即,如果用户单击“服务 1”,菜单将保持打开状态(完全滑出)。
我在 Stackoverflow 上看到了这个,它似乎和我描述的问题一样:http: //dabblet.com/gist/3635623/f69409ee9ee7e6613b7ed098a6a82b6a5445ed07
最后,我的jsfiddle:http: //jsfiddle.net/LJ4tH/13/
HTML:
<nav>
<ul id="menu-nav">
<li><a href="#">About Us</a></li>
<li class="has-flyout"><a href="#">Services</a>
<ul class="flyout">
<li class="active"><a href="#">Service 1</a></li>
<li><a href="#">Service 2</a></li>
<li><a href="#">Service 3</a></li>
</ul>
</li>
<li><a href="#">News</a></li>
<li><a href="#">Contact us</a></li>
<li><a href="#">Blog</a></li>
</ul>
</nav>
查询:
(function navslider($) {
$('.flyout').hide();
$('.has-flyout').on({
mouseenter: function() {
$(this).find('ul.flyout').stop().animate({width: 'toggle'},1000);
},
mouseleave: function(){
$(this).find('ul.flyout').stop().animate({width: 'toggle'},3000);
}
});
})(jQuery);
CSS:
nav li { display: inline-block; }
/*li a:hover { margin-top:0px; }/*This doesn't seem to work*/
.flyout { display: inline-block; white-space: nowrap; margin-top: 0px; }
/*ul.flyout li.active { margin-top: 0px; }
ul.flyout. li. a:hover { margin-top: 0px; }*/
谢谢
晶圆厂