【发布时间】:2021-02-04 20:33:15
【问题描述】:
我正在尝试使用 jQuery 创建一个移动菜单,但遇到以下问题:移动菜单仅根据我输入@媒体查询的宽度显示,当我单击其中一个导航链接时,他们应该消失。但是,如果我将窗口大小调整为全宽,导航栏将完全隐藏,我只能看到徽标。要再次显示导航菜单,我必须刷新页面。我该如何解决?
这是标题的 HTML
<header>
<div class="logo">
<i class="fas fa-code fa-3x"></i>
</div>
<div class="mobile-menu"><i class="fa fa-bars fa-2x"></i></div>
<nav class="navbar">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#projects">Projects</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</header>
mobile-menu 的 CSS 和 mobile-menu 和 navbar 的媒体查询
.mobile-menu {
color: white;
position: absolute;
right: 20px;
display: none;
}
@media only screen and (max-width: 768px){
.mobile-menu {
display: block;
}
.navbar {
display: none;
flex-direction: column;
background: var(--secondary);
width: 11rem;
position: absolute;
right: 0;
top: 60px;
}
}
JS
$('.mobile-menu').on('click', function () {
$('.navbar').slideToggle();
});
$('.navbar').click(function () {
$(this).hide();
});
【问题讨论】:
标签: javascript html jquery css