我正在構建一個響應式導航菜單,並且我無法通過調用jQuery的slideToggle()使導航項變爲可見。菜單項(.nav_item)合適地摺疊,然後在視口爲012px時,隱身,第一個菜單項(#nav_menu)「菜單」成爲唯一可見的項目。點擊後,我希望按鈕重新出現並在菜單按鈕下滑動。然而,當我點擊時,沒有任何反應,菜單項保持不可見。如果我從菜單項中取出display: none !important;
,它們將成功切換(但始終可見)。有誰知道發生了什麼問題?謝謝。與響應菜單和jQuery的slideToggle的問題
CSS(指南針):
#navUL {
@include background-image(linear-gradient($blue_dark, $blue_light));
text-align: center;
}
#navUL li {
a:link, a:visited {
color: white;
text-decoration: none;
display: block;
height: 40px;
padding: 0 25px 0 25px;
}
a:hover {
@include background-image(linear-gradient($red_dark, $red_light));
}
display: inline-block;
color: white;
line-height: 40px;
font-family: Helvetica;
}
#nav_menu {
display: none !important;
}
@media only screen and (max-width: 640px) {
#nav_menu {
display: inline !important;
}
.nav_item {
display: none !important;
}
#navUL li {
display: inline;
}
}
HTML:
<!DOCTYPE HTML>
<html>
<head>
<link href="stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" />
<!--[if IE]>
<link href="/stylesheets/ie.css" media="screen, projection" rel="stylesheet" type="text/css" />
<![endif]-->
</head>
<body>
<div class="wrapper">
<header>
<img src="top_banner.jpg">
</header>
<nav>
<ul id="navUL">
<li id="nav_menu"><a href="#">Menu</a></li>
<li class="nav_item"><a href="#">Home</a></li>
<li class="nav_item"><a href="#">Search</a></li>
<li class="nav_item"><a href="#">Submit</a></li>
<li class="nav_item"><a href="#">News</a></li>
<li class="nav_item"><a href="#">Blog</a></li>
<li class="nav_item"><a href="#">About</a></li>
</ul>
</nav>
<div id="main">
</div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</body>
</html>
JS:
<script>
$(document).ready(function(){
$('#nav_menu').on('click', function(e){
e.preventDefault();
$('.nav_item').slideToggle('slow');
});
});
</script>