我在http://www.fpsl.eu建立了一个网站,它有一个大屏幕尺寸的普通水平导航菜单,以及一个隐藏菜单 (#mmenu) 的 jQuery 下拉菜单,直到单击按钮。
这个下拉菜单应该在宽度小于 980 像素时触发,它在 Chrome、Safari 和 Internet Explorer 中会触发。
但是,在 Firefox 中,#mmenu 在 994 像素处消失,使导航栏为空白(该按钮由 CSS 媒体查询控制,因此在 994 像素处仍设置为 display:none)。在 980 像素处,移动菜单按预期显示。
我到底要做什么?我有点吓坏了,因为这基本上破坏了我使站点跨浏览器兼容的尝试-实际上我所能做的就是a)尝试创建一个纯CSS下拉列表,或者b)让按钮显示状态为由 JS 控制,因此它在 994px 处也显示不正确(尽管此时菜单项仍将水平定位,但至少用户将能够通过单击显示它们)。
有没有更好的解决方案?是否存在类似 Firefox 的条件注释?
我的 jQuery 看起来像这样:
<script type="text/javascript">
jQuery(document).ready(function ($) {
$(".mtoggle").click(function () {
$("#mmenu").slideToggle(500);
});
if ($(window).width() < 980) {
$("#mmenu").hide();
}
});
$(window).resize(function () {
if ($(window).width() > 980) {
$('#mmenu').show();
}
if ($(window).width() < 980) {
$("#mmenu").hide();
}
});
</script>
我正在运行相对较新的 Firefox 23.0.1,所以我想知道它是否只是一个错误——还有其他人能够复制它吗?
编辑:导航栏的 HTML 如下,完整页面可以在 www.fpsl.eu 查看:
<nav id="access" role="navigation" class="navbar-fixed-top">
<h1 class="assistive-text section-heading">Main menu</h1>
<div class="skip-link screen-reader-text"><a href="#content" title="Skip to content">Skip to content</a></div>
<h1 id="site-title"><a href="http://fpsl.eu/" title="First Phase Soft Landing" rel="home"><img src="http://www.fpsl.eu/img/first-phase-logo.png" alt="First Phase Soft Landing" class="logo" /></a></h1>
<a class="btn-navbar mtoggle" data-toggle="collapse" data-target=".mmenu">
<span class="navmenu">☰</span>
</a>
<div id="mmenu">
<div class="menu-first-phase-menu-container"><ul id="menu-first-phase-menu" class="mmenu"><li id="menu-item-83" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-4 current_page_item menu-item-83"><a href="http://fpsl.eu/">Home</a></li>
<li id="menu-item-84" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-84"><a href="http://fpsl.eu/about/">About</a></li>
<li id="menu-item-122" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-122 dropdown"><a href="#">Our Services ▾</a>
<ul class="sub-menu">
<li id="menu-item-88" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-88"><a href="http://fpsl.eu/market-research/">Market Research</a></li>
<li id="menu-item-87" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-87"><a href="http://fpsl.eu/operational-set-up/">Operational Set Up</a></li>
<li id="menu-item-86" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-86"><a href="http://fpsl.eu/fast-track-services/">Fast Track Services</a></li>
</ul>
</li>
<li id="menu-item-91" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-91"><a href="http://fpsl.eu/testimonials/">Testimonials</a></li>
<li id="menu-item-157" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-157"><a href="http://fpsl.eu/blog/">Blog</a></li>
<li id="menu-item-106" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-106"><a href="#contact">Contact</a></li>
</ul></div> </div>
</nav>
编辑2:我在这里有一个JSFiddle,只使用正常工作的标头代码 - http://jsfiddle.net/Kg6h4/embedded/result/。但是,在 HTML 中插入主要内容时,问题仍然存在,请参见http://jsfiddle.net/juk5w/18/embedded/result/。