2013-04-29 280 views
1

我有一个切换navi菜单为我的网站设置,目前的代码允许用户关闭菜单,当你点击菜单链接,但它不会关闭,当你点击页面上的任何其他地方。我希望当用户在任何地方点击除了活动菜单内部的菜单以隐藏菜单。这里是我的代码:jquery导航菜单切换

<script type="text/javascript"> 
$(document).ready(function() { 
$('#toggleLink').click(function() { 
    $('#showme1').slideToggle(600); 
    $('#showme2,#showme3,#showme4').hide (400); 
    }); 
}); 
</script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$('#toggleLink2').click(function() { 
    $('#showme2').slideToggle(600); 
    $('#showme1,#showme3,#showme4').hide (400); 

    }); 
}); 
</script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$('#toggleLink3').click(function() { 
    $('#showme3').slideToggle(600); 
    $('#showme1,#showme2,#showme4').hide (400); 

    }); 
}); 
</script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$('#toggleLink4').click(function() { 
    $('#showme4').slideToggle(600); 
    $('#showme1,#showme2,#showme3').hide (400); 
    }); 
}); 
</script>` 
+0

你可以创建一个jsFiddle吗? – j08691 2013-04-29 19:15:48

+0

我从来没有使用jsFiddle,但我复制并粘贴(我认为是)相关的代码在这里... http://jsfiddle.net/YgDra/ – user2333018 2013-04-30 15:34:18

回答

0

这是我会做的。创建一个最初隐藏的div,然后当您切换其中一个菜单时,在菜单后面显示div(绝对定位)。然后将点击绑定到该div,以便每当它被点击时隐藏该菜单。

jsFiddle example(如果您取消注释在盖格的背景颜色,你会看到它是如何工作)

添加HTML

<div id="cover"></div> 

新增CSS

#cover { 
    position:absolute; 
    top:0; 
    bottom:0; 
    left:0; 
    right:0; 
    z-index:1; 
    display:none; 
} 

新增jQuery

$('#toggleLink,#toggleLink2,#toggleLink3,#toggleLink4,#toggleLink5').on("click", function() { 
    $('#cover').show(); 
}); 
$('#cover').click(function() { 
    $('#showme1,#showme2,#showme3,#showme4,#showme5').hide(400); 
    $(this).hide(); 
}); 
+0

这太棒了!唯一的问题是,它在jsFiddle中有效,但不能在Dreamweaver中与我的页面代码的其余部分一起使用。我已经添加/编辑了您给我的内容,但现在点击时菜单不会显示。假设我点击“研究工具”,没有任何东西弹出。我不确定jsFiddle和组合版本有什么区别 - 我没有看到任何东西跳出来。有什么建议寻找什么? – user2333018 2013-04-30 16:30:55

+0

我首先打开浏览器的开发工具并寻找错误。通常F12会打开它。 – j08691 2013-04-30 16:34:45

+0

好吧,它看起来像我失踪});在代码的最后。把它放在那里,现在菜单弹出来,但最初的问题(点击div外的任何地方关闭菜单)尚未解决。我仍然需要点击菜单链接(即研究工具或指导资源)才能关闭菜单。 – user2333018 2013-04-30 16:39:59