【发布时间】:2018-02-24 11:36:58
【问题描述】:
我制作了响应式菜单。在桌面上,导航在标题中水平显示:主页、画廊、关于等。对于较小的屏幕,我制作了汉堡图标,点击时,导航应该会展开。使用 CSS,我在较小的屏幕上隐藏了导航,并设计了它在展开时的外观 - 它将垂直显示。
使用 javascript,我创建了一个功能,可以在您单击汉堡图标时展开导航,并在您再次单击时将其折叠。
有效。
问题是: 如果我点击汉堡图标显示导航然后再次隐藏它,当我将浏览器窗口放大到桌面大小时,导航不会再次水平显示在标题中,它仍然是隐藏的。
请帮忙!
$('#drawer').click(function() {
$('header nav').toggle(1);
if ($(this).text() == 'Hide') {
$(this).text('Show');
} else {
$(this).text('Hide');
}
});
#drawer {
display: none;
}
header nav {
float: right;
}
nav li {
float: left;
}
@media screen and (max-width: 768px) {
#drawer {
display: inline-block;
float: right;
}
header nav {
display: none;
float: none;
padding-top: 120px;
/* Hamburger icon is in the header on the right side, and nav expands vertically in the center of the screen below the hamburger icon, that's why I put the padding 120px, to make nav below the icon*/
text-align: center;
}
nav li {
float: none;
}
nav li a {
display: inline-block;
margin-left: 0px;
margin-top: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="drawer" src="images/drawer.png" alt="Drawer">
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="portfolio.html">Portfolio</a></li>
<li><a href="tutorials.html">Tutorials</a></li>
</ul>
</nav>
【问题讨论】:
标签: javascript jquery html navigation-drawer hamburger-menu