用JS关闭汉堡包菜单

时间:2018-02-27 09:13:32

标签: javascript jquery html css

如何在点击链接时关闭我的汉堡包菜单,我需要它来进行一页导航。菜单工作正常,但只需要一种方法来关闭它。 我对JS知之甚少。

我在HTML和CSS中有这个,没有任何JS:

index.html文件中的HTML

<nav>
<div id="menuToggle">
    <input type="checkbox"/>
    <span></span>
    <span></span>
    <span></span>

<ul id="menu" class="navbar-collapse">
        <li><a href="#1">idi na 1</a></li>
        <li><a href="#2">idi na 2</a></li>
        <li><a href="#3">idi na 3</a></li>
</ul>
</div>
</nav>

style.css文件中的CSS

*{
    margin:0;
    padding:0;
}
nav{
    position:fixed;
    z-index: 99999;
}
a{
    text-decoration: none;
    font-family: 'Lato', sans-serif;
    color: #000000;
    transition: color 0.3s ease;
}
a:hover{
    color: #999999;
}
#menuToggle{
    display: block;
    position: relative;
    top: 50px;
    left: 50px;
    z-index: 1;
    -webkit-user-select: none;
    user-select: none;
}
#menuToggle input{
    display: block;
    width: 40px;
    height: 32px;
    position: absolute;
    top: -7px;
    left: -5px;
    cursor: pointer;
    opacity: 0;
    z-index: 2;
    -webkit-touch-callout: none;
}
#menuToggle span{
    display: block;
    width: 33px;
    height: 4px;
    margin-bottom: 5px;
    position: relative;
    background: #000000;
    border-radius: 3px;
    z-index: 1;
    transform-origin: 4px 0px;
    transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
    background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
    opacity 0.55s ease;
}
#menuToggle span:first-child{
    transform-origin: 0% 0%;
}
#menuToggle span:nth-last-child(2){
    transform-origin: 0% 100%;
}
#menuToggle input:checked ~ span{
    opacity: 1;
    transform: rotate(45deg) translate(-2px, -1px);
    background: #000000;
}
#menuToggle input:checked ~ span:nth-last-child(3){
    opacity: 0;
    transform: rotate(0deg) scale(0.2, 0.2);
}
#menuToggle input:checked ~ span:nth-last-child(2){
    opacity: 1;
    transform: rotate(-45deg) translate(0, -1px);
}
#menu{
    background-size:cover;
    background-repeat:no-repeat;    
    position: absolute;
    width: 100vw;
    height:100vh;
    margin: -77px 0 0 -50px;
    padding: 50px;
    padding-top: 125px;
    background-color: rgba(255,255,255,1);
    list-style-type: none;
    -webkit-font-smoothing: antialiased;
    transform-origin: 0% 0%;
    transform: translate(-100%, 0);
    transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}
#menu li{
    padding: 10px 0;
    font-size: 60px;
    text-align: center;
}
#menuToggle input:checked ~ ul{
    transform: scale(1.0, 1.0);
    opacity: 1;
}

@media only screen and (max-width:480px) { 
    #menuToggle input {
        top: 2px;
        left: -5px;
    }
}

非常感谢您提供的任何帮助!

0 个答案:

没有答案