汉堡菜单点击无法展开

3

我尝试制作一个汉堡菜单。

这是我的HTML代码:

<nav>
    <h3>Life Below Water</h3>
    <ul class="ul">
        <li><a href="" class="nav">Donate</a></li>
        <li><a href="https://sdgs.un.org/goals" class="nav">Visit SDG.UN</a></li>
    </ul>
        
    <a href="#" class="toggle" id="menuicon"><i class="fas fa-bars"></i></a>
</nav>

这是我的JS代码:

const toggle = document.getElementByClassName('menuicon')[0]
const navBar = document.getElementByClassName('ul')[0]


menuicon.addEventListener('click', () =>{
    navBar.classList.toggle('active')
})

当我点击汉堡图标时,菜单没有展开。
1个回答

3

getElementByClassName 应该改为 getElementsByClassName:

const toggle = document.getElementsByClassName('menuicon')[0]
const navBar = document.getElementsByClassName('ul')[0]


menuicon.addEventListener('click', () =>{
    navBar.classList.toggle('active')
})
.ul{
  display:none;
}

.active{
  display:block;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css" integrity="sha512-YWzhKL2whUzgiheMoBFwW8CKV4qpHQAEuvilg9FAn5VJUDwKZZxkJNuGM4XkWuk94WCrrwslk8yWNGmY1EduTA==" crossorigin="anonymous" referrerpolicy="no-referrer" />

<nav>
    <h3>Life Below Water</h3>
    <ul class="ul">
        <li><a href="" class="nav">Donate</a></li>
        <li><a href="https://sdgs.un.org/goals" class="nav">Visit SDG.UN</a></li>
    </ul>
        
    <a href="#" class="toggle" id="menuicon"><i class="fas fa-bars"></i></a>
</nav>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接