如何让我的移动菜单按钮显示和隐藏导航栏,以及在负空间中单击时隐藏
How do I make my mobile menu button reveal and hide the navigation bar as well as hide on click in negative space
我一直在尝试制作一个响应式网站,其中大部分都已排序,但我很难使菜单按钮(显示在媒体查询指定的设备上)显示和隐藏导航栏。
经过研究,似乎唯一的方法是通过JS,这是正确的吗?
无论如何,当涉及到JS时,我非常糟糕,但我把它放在我相信它会起作用的地方。下面是代码片段。所以这个想法是,当单击".menu-icon"时,菜单将下拉(或在这种情况下淡入)并在第二次单击等时恢复为隐藏。
http://jsfiddle.net/af57r1to/
<div id="logo">
<a href="#">
<img class="logo" src="images/logo.png" alt="Logo" style="width:200px;height:100px" />
</a>
<a class="menu-icon" href="#menu"></a>
<br></br>
</div>
<div class="navbar">
<ul class="navbar cf">
<li><a href="index.html">HOME</a>
</li>
<li><a href="#">SECTIONS</a>
<ul>
<li><a href="retail.html">RETAIL </a>
</li>
<li><a href="#">HOTEL</a>
</li>
<li><a href="#">RESTAURANT</a>
</li>
<li><a href="#">SHOPPING</a>
</li>
</ul>
<li><a href="how.html">HOW IT WORKS</a>
</li>
<li><a href="#">OUR EXPERIENCE</a>
</li>
<li><a href="#">TESTIMONIALS</a>
</li>
<li><a href="#">NEWS</a>
</li>
<li><a href="">CONTACT US</a>
</li>
</ul>
</div>
<br />
$(document).ready(function () {
$('.menu-icon').click(function () {
$('.navbar').fadeToggle();
});
});
目前,它似乎淡入导航约0.3秒,然后消失。没有给用户太多时间从下拉列表中选择一个选项!啊哈。
我知道这将是我错过的明显的东西。任何关于它的帮助将不胜感激。
从navbar cf
中删除类navbar
解决了切换问题,但搞砸了样式。因此,为您的导航栏提供一个 ID 并切换它。
<div class="navbar" id='navbarID'>
<ul class="navbar cf">
<li><a href="index.html">HOME</a>
和
$('.menu-icon').click(function () {
$('#navbarID').fadeToggle();
});
这是小提琴
你在HTML和JS中都有一些错误。
首先:您在<li>
元素中打开了内部<ul>
元素,但在 li 元素外部关闭了它。结构错误。它必须在打开的<li>
元素内关闭。
第二:$(document).ready() 函数未正确关闭:
$(document).ready(function () {
$('.menu-icon').click(function () {
$('.navbar').fadeToggle();
});
});
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 单击时显示,再次单击时隐藏
- JQuery在单击正文时隐藏上下文菜单
- JQuery在单击时停止显示/隐藏
- 如何隐藏按钮单击事件上的占位符
- 单击时隐藏弹出窗口
- jquery单击隐藏的复选框
- 在开始时隐藏FX.slide内容,而不是在单击后隐藏
- 如何在单击按钮时显示一个分区,同时隐藏另一个分区
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 当链接单击-jQuery时,第二层下拉列表将隐藏
- 在显示/隐藏中单击时删除的文本
- jQuery单击隐藏其父元素
- 单击javascript按钮显示/隐藏Div元素
- 单击表单1中的按钮:更改表单2中隐藏输入的值(纯javascript)
- 隐藏选择选项,并在单击定义的选项后显示它们
- 隐藏单击的元素,并使用jQuery在元素之后立即显示该元素
- 如何在angularjs中隐藏单击的按钮1和显示按钮2以及单击按钮2隐藏按钮2和显示按钮1