自从我在这里发布以来已经有一段时间了,所以我希望这不是坏形式。但我认为更容易看到页面上的实例:http://www.wrangelloutfitters.com
下拉菜单适用于IE,Chrome和Safari,但不适用于Firefox。在Firefox 11.0和Firefox 25.0.1中测试过。我最近将它从CSS悬停转换为触摸屏的jQuery事件,它工作正常。只是没有在Firefox中让我感到困惑。
对于摘要和后代,如果其他人在网站更改后需要此功能,则基本代码为:
<script>
function hideAllDrops (){
document.getElementById('mainA-sub').style.display='none';
document.getElementById('mainB-sub').style.display='none';
document.getElementById('mainC-sub').style.display='none';
};
$(function(){
$( "html" ).click(function() {
hideAllDrops ();
});
$( "#mainA" ).click(function(){
hideAllDrops ();
document.getElementById('mainA-sub').style.display='block';
event.stopPropagation();
});
});
</script>
<li><a class="menuOpt" id="mainA">Guided Hunts</a>
<div class="nav_sub last" id="mainA-sub">
<div class="nav_sub_wrapper">
<ul>
<li><a href="/subPage">Option 1</a></li>
<li><a href="/subPage01">Option 2</a></li>
<li><a href="/subPage03">Option 3</a></li>
</ul>
</div><div class="sub_nav_end"></div>
</div>
</li>
答案 0 :(得分:2)
Firefox控制台:[00:40:05,423] ReferenceError:事件未定义@ http://www.wrangelloutfitters.com/:64
您的下拉链接会引发错误。请在firebug中参考您的控制台。 你没有将事件作为参数传递,你仍在使用event.stopPropagation(); 相反,你应该使用如下
$( "#about-wrangelloutfitters" ).click(function(event) {
hideAllDrops ();
document.getElementById('about-wrangelloutfitters-sub').style.display='block';
event.stopPropagation();
});
答案 1 :(得分:1)
您需要在'
getElementById('mainA-sub')
$( "html" ).click(function() {
hideAllDrops ();
});
function hideAllDrops (){
document.getElementById('mainA-sub').style.display='none';
document.getElementById('mainB-sub').style.display='none';
document.getElementById('mainC-sub').style.display='none';
}