为什么这个简单的 jQuery 切换不起作用?
Why is this simple jQuery toggle not working?
我想知道为什么这个 toggle
不起作用。
addClass
方法并因此隐藏了 nav
效果很好......我是否遗漏了一个简单的拼写错误或者我的概念有误?
感谢支持。
$(document).ready(function() {
$("body").addClass("js");
var $menu = $("#menu"),
$menulink = $(".menu_link");
$menulink.click(function() {
$menulink.toggleClass("active");
$menu.toggleClass("active");
return false;
});
});
.menu_link {
position: absolute;
top: 1.5rem;
right: 1.5rem;
color: black;
background-color: #fff;
padding: 1rem;
border-radius: 50%;
}
.menu_link .active {
background-color: red;
}
.js nav {
overflow: hidden;
max-height: 0;
}
nav .active {
max-height: 15rem;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#menu" class="menu_link">Inhalt</a>
<nav id="menu">
<ul>
<li><a href="#">Punkt 1</a></li>
<li><a href="#">Punkt 2</a></li>
<li><a href="#">Punkt 3</a></li>
<li><a href="#">Punkt 4</a></li>
</ul>
</nav>
尝试删除 .active 之前的 space。所以它变成了
.menu_link.active {}
和
nav.active {}
错误在你的CSS; .active
class 直接放在 nav
和 .menu_link
元素上,因此您需要删除它们的选择器之间的空格:
.menu_link.active {
background-color: red;
}
nav.active {
max-height: 15rem;
}
我想知道为什么这个 toggle
不起作用。
addClass
方法并因此隐藏了 nav
效果很好......我是否遗漏了一个简单的拼写错误或者我的概念有误?
感谢支持。
$(document).ready(function() {
$("body").addClass("js");
var $menu = $("#menu"),
$menulink = $(".menu_link");
$menulink.click(function() {
$menulink.toggleClass("active");
$menu.toggleClass("active");
return false;
});
});
.menu_link {
position: absolute;
top: 1.5rem;
right: 1.5rem;
color: black;
background-color: #fff;
padding: 1rem;
border-radius: 50%;
}
.menu_link .active {
background-color: red;
}
.js nav {
overflow: hidden;
max-height: 0;
}
nav .active {
max-height: 15rem;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#menu" class="menu_link">Inhalt</a>
<nav id="menu">
<ul>
<li><a href="#">Punkt 1</a></li>
<li><a href="#">Punkt 2</a></li>
<li><a href="#">Punkt 3</a></li>
<li><a href="#">Punkt 4</a></li>
</ul>
</nav>
尝试删除 .active 之前的 space。所以它变成了
.menu_link.active {}
和
nav.active {}
错误在你的CSS; .active
class 直接放在 nav
和 .menu_link
元素上,因此您需要删除它们的选择器之间的空格:
.menu_link.active {
background-color: red;
}
nav.active {
max-height: 15rem;
}