点击列表项时,删除移动菜单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点击列表项时,删除移动菜单相关的知识,希望对你有一定的参考价值。
这是我的第一个问题,所以如果不按照标准做法,请原谅。
我需要帮助这个移动导航菜单。我得到了下面的youtube视频的代码,问题是,虽然它是一个纯CSS移动导航的良好尝试,但当项目列表时,菜单不会自动删除。问题是,虽然这是一个很好的纯CSS移动导航的尝试,但当一个列表项被点击时,菜单不会自动删除。
.nav {
opacity: 1;
position: fixed;
z-index: 999;
border-bottom: 1px solid #EAEAEB;
text-align: right;
height: 70px;
line-height: 70px;
width: 100%;
background: rgb(66,65,65);
background: grey;
transition: all 1s ease;
}
.menu {
margin: 0 30px 0 0;
}
.menu a {
clear: right;
text-decoration: none;
color: #fff;
margin: 0 10px;
line-height: 70px;
font-size: 2em;
transition: all 0.5s ease;
}
label {
margin: 0 40px 0 0;
font-size: 26px;
line-height: 70px;
display: none;
width: 26px;
float: right;
}
#toggle {
display: none;
}
@media (max-width: 850px) {
.ml14 {
font-size: 5em;
}
label {
display: block;
cursor: pointer;
}
.menu {
text-align: center;
width: 100%;
display: none;
}
.menu a {
display: block;
border-bottom: 1px solid #EAEAEB;
margin: 0;
background: rgb(66,65,65);
background: linear-gradient(90deg, rgb(180, 180, 180) 0%, rgba(231,221,221,1) 72%);
}
#toggle:checked ~ .menu {
display: block;
}
<div class="nav">
<label for="toggle">☰</label>
<input type="checkbox" id="toggle"/>
<div class="menu">
<a class="section1" href="#">About</a>
<a class="contact-sec" href="#">Contact</a>
<a class="section3" href="#">Gallery</a>
<a href="#"><i class="fab fa-facebook"></i></a>
<a href=""><i class="fa fa-instagram fa-5x"></i></a>
</div>
</div>
答案
我简单的添加功能,当点击链接输入检查将是假的,菜单关闭。
function CloseMenu(){
document.getElementById("toggle").checked = false;
}
.nav {
opacity: 1;
position: fixed;
z-index: 999;
border-bottom: 1px solid #EAEAEB;
text-align: right;
height: 70px;
line-height: 70px;
width: 100%;
background: rgb(66,65,65);
background: grey;
transition: all 1s ease;
}
.menu {
margin: 0 30px 0 0;
}
.menu a {
clear: right;
text-decoration: none;
color: #fff;
margin: 0 10px;
line-height: 70px;
font-size: 2em;
transition: all 0.5s ease;
}
label {
margin: 0 40px 0 0;
font-size: 26px;
line-height: 70px;
display: none;
width: 26px;
float: right;
}
#toggle {
display: none;
}
@media (max-width: 850px) {
.ml14 {
font-size: 5em;
}
label {
display: block;
cursor: pointer;
}
.menu {
text-align: center;
width: 100%;
display: none;
}
.menu a {
display: block;
border-bottom: 1px solid #EAEAEB;
margin: 0;
background: rgb(66,65,65);
background: linear-gradient(90deg, rgb(180, 180, 180) 0%, rgba(231,221,221,1) 72%);
}
#toggle:checked ~ .menu {
display: block;
}
<div class="nav">
<label for="toggle">☰</label>
<input type="checkbox" id="toggle"/>
<div class="menu" id="menu">
<a class="section1" href="#" onclick="CloseMenu()">About</a>
<a class="contact-sec" href="#" onclick="CloseMenu()">Contact</a>
<a class="section3" href="#" onclick="CloseMenu()">Gallery</a>
<a href="#"><i class="fab fa-facebook" onclick="CloseMenu()"></i></a>
<a href=""><i class="fa fa-instagram fa-5x" onclick="CloseMenu()"></i></a>
</div>
</div>
以上是关于点击列表项时,删除移动菜单的主要内容,如果未能解决你的问题,请参考以下文章