j查询以切换导航菜单
jQuery to toggle navigation menu
我想在移动设备上制作菜单,通过切换打开菜单列表。
我希望在单击切换开关时显示列表菜单并禁用正文的滚动。此外,如果我再次按下 toogle 菜单,列表菜单将关闭,这将再次启用正文的滚动选项。
怎么可能做到这一点?
这是我的代码
<body class="cbp-spmenu-push">
<div class="headerArea clearfix">
<div class="LogoArea"> <a href="#"><img src="images/smallogo.png" width="100"></a> </div>
<div class="container">
<section>
<div class="main">
<div class="toggle_menu" id="showRight">
<i></i>
<i></i>
<i></i>
</div>
</div>
</section>
</div>
<div class="menuArea">
<nav class="cbp-spmenu cbp-spmenu-vertical cbp-spmenu-right" id="cbp-spmenu-s2">
<a href="#">PERUSAHAAN</a>
<a href="#">PRODUK</a>
<a href="#">INTERNASIONAL</a>
<a href="#">PELUANG BISINIS</a>
<a href="#">KARIR</a>
<a href="#">KONTAK</a>
</nav>
</div>
</div>
</body>
.css
.cbp-spmenu,
.cbp-spmenu-push {
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
transition: all 0.3s ease;
}
jquery
<script>
$(document).ready(function(e){
$('.toggle_menu').click(function(){
$('body').css("overflow","hidden")
});
});
</script>
在这个jquery代码中,当我单击toogle菜单时,它工作得很好,它使身体变得不可思议。但是当我单击toogle菜单并且菜单列表已关闭时,正文仍然无法滚动。
任何帮助,不胜感激。
使用 .toggleClass()
添加/删除 css 类。
您可以将属性css class
为overflow : hidden
并使用toggleClass
,您可以添加或删除此类
$(document).ready(function(e) {
$('.toggle_menu').click(function() {
$('body').toggleClass("overflow");
});
});
.cbp-spmenu,
.cbp-spmenu-push {
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
transition: all 0.3s ease;
}
.overflow {
overflow: hidden;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<body class="cbp-spmenu-push">
<div class="headerArea clearfix">
<div class="LogoArea">
<a href="#">
<img src="images/smallogo.png" width="100">
</a>
</div>
<div class="container">
<section>
<div class="main">
<div class="toggle_menu" id="showRight">Click Here
<i></i>
<i></i>
<i></i>
</div>
</div>
</section>
</div>
<div class="menuArea">
<nav class="cbp-spmenu cbp-spmenu-vertical cbp-spmenu-right" id="cbp-spmenu-s2">
<a href="#">PERUSAHAAN</a>
<a href="#">PRODUK</a>
<a href="#">INTERNASIONAL</a>
<a href="#">PELUANG BISINIS</a>
<a href="#">KARIR</a>
<a href="#">KONTAK</a>
</nav>
</div>
</div>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
$('.toggle_menu').click(function(){
$('body').css("overflow","hidden")
});
在您编写的上面这个函数中,您应该首先检查toggle_menu是打开还是关闭。然后,根据需要使身体溢出"隐藏"或"自动"。像这样:
$('.toggle_menu').click(function(){
if ('.toggle_menu.active') {
$('body').css("overflow","hidden");
} else {
$('body').css("overflow","auto");
}
});
相关文章:
- 设计Django中当前导航菜单项的样式
- 导航菜单-悬停时的背景行为怪异
- 如何在悬停和聚焦时打开引导导航菜单
- jQuery与导航菜单上的mouseover事件冲突.
- iPhone应用程序jquery中的滑块导航菜单
- 导航菜单不适合移动浏览器
- 如何创建具有第三级的垂直导航菜单
- 有没有一种方法可以基于Angular 2中注册的路线构建动态导航/菜单
- 基于 Jquery 的下拉导航菜单
- 波旁威士忌补充导航菜单在单击时向上滑动
- 移动导航菜单不起作用(HTML,CSS和JQuery)
- 定义痕迹导航菜单的变量
- 导航菜单在手机上不起作用
- 单击“下一个”和“上一个”时,如何从导航菜单中添加和删除类
- 可折叠侧边栏/导航菜单
- 如何修复导航菜单
- 实现幻灯片放映后,导航菜单无法工作
- 选择菜单后自动关闭切换导航菜单
- BackboneJS-导航菜单
- 在导航菜单中添加类