Eri*_*rik 37 javascript css visibility toggle
我在一个名为的标签中有一个菜单sf-menu.
我需要将可见性更改none为单击链接时的可见性,并在再次单击时切换回来.
我可以只使用CSS实现这一点还是需要JavaScript?
希望有人可以帮我一个例子.
.sf-menu {visibility: visible}
<a class="closed" href="#sidewidgetarea"> Switch</a>
Run Code Online (Sandbox Code Playgroud)
sgl*_*kov 36
<input type="checkbox" style="display: none" id="cb">
<label for="cb">Click Here</label>
<div>
Hello. This is some stuff.
</div>
Run Code Online (Sandbox Code Playgroud)
:target#menu .menu{
display:none;
}
#menu:target .menu{
display: block;
}
#menu:target .menu__open{
display: none;
}
#menu .menu__close{
display: none;
}
#menu:target .menu__close{
display: block;
}Run Code Online (Sandbox Code Playgroud)
<div id="menu">
<a href="#menu" class="menu__open">Open menu</a>
<a href="#" class="menu__close">Close menu</a>
<div class="menu">
Hello. This is some stuff.
</div>
</div>Run Code Online (Sandbox Code Playgroud)
小智 8
如果您使用的是jquery,则可以使用jquery.toggle()
例:
$(".closed").click(function(event) {
event.stopPropagation()
$(".sf-menu").toggle();
});
Run Code Online (Sandbox Code Playgroud)
资料来源:https://api.jquery.com/toggle/
你只能使用CSS来做到这一点.诀窍是留下可以点击的路径,并作为开关/按钮用于打开或关闭显示.您可以通过将需要切换的内容包装到某个div或任何其他适合您的元素中来实现.
这是一个小例子.
label {
cursor: pointer;
}
#menu-toggle {
display: none; /* hide the checkbox */
}
#menu {
display: none;
}
#menu-toggle:checked + #menu {
display: block;
}Run Code Online (Sandbox Code Playgroud)
<label for="menu-toggle">Click me to toggle menu</label>
<input type="checkbox" id="menu-toggle"/>
<ul id="menu">
<li><a href="#">First link</a></li>
<li><a href="#">Second link</a></li>
<li><a href="#">Third link</a></li>
</ul>Run Code Online (Sandbox Code Playgroud)