javascript - 使用 Jquery 隐藏侧面菜单栏

标签 javascript jquery html

我试图在单击按钮以及单击文档中的任何位置时隐藏左侧菜单栏。

我尝试了以下链接中的以下代码。

我需要一些帮助......

这里是试过的代码: 查询:

$("#openMenuLayout").click(function(e){
   debugger;
    if ($('#menuLayout').hasClass('open-menu')){
       $('#menuLayout').removeClass('open-menu');
       $('#openMenuLayout').find('img').removeClass().addClass('opened_icon');
          $(this).css('display','block');
     } else {
       $('#menuLayout').addClass('open-menu');
       $('#openMenuLayout').find('img').removeClass().addClass('open-menu_icon');
       $(this).css('display','block');
     }

     e.preventDefault();
 });

Demo Link

最佳答案

与这个问题非常相似:Opening mobile menu in Chrome for Android by setting width only works first time.

这是我的解决方案:http://codepen.io/anon/pen/jiyHI

基本上,您在菜单和内容之间创建了一个可点击的层。

编辑:代码

<div id="overlay"></div>
<div id="menu-button"></div>
<div id="menu">
     <!--your menu-->    
</div>
<div id="content"></div>

CSS

#content {
  ...
  z-index:1;
}

#overlay{
  width:100%;
  height:100%;
  position:fixed;
  top:0;
  left:0;
  background:rgba(0,0,0,0.3);
  z-index:5;  //between content and overlay
  display: none;
}

#menu{
     z-index:10; //greater than content and overlay
 }

Javascript

$("#menu-button").bind( "click", function() {
  $('#menu').toggleClass('open');
  $('#overlay').show(0);
});

$("#overlay").bind( "click", function() {
  $('#mobile-menu').removeClass('open');
  $('#overlay').hide(0);     
});

关于javascript - 使用 Jquery 隐藏侧面菜单栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21731555/

相关文章:

javascript - 可在移动设备上关闭所有部分的 Accordion ,但在平板电脑和台式机上始终打开一个 Accordion 部分

javascript - Jquery 选择所有具有以字符串开头的 innerHTML 的元素?

javascript - 如何在 Openlayers 3 ol.interaction.Select 上手动引发 'select' 事件?

javascript - 如何显示来自 AsyncValidatorFn 的消息

javascript获取类型/实例名称

java - 监听所有请求 Tomcat

javascript - 无权承担所提供的角色

javascript - jquery ajax $.get 结果找不到类

php - Codeigniter:this->datatables->select(sample)->from(sample)->where()

jquery - Java Servlet 中的 HTML 字符串在 Javascript 中解释为 #document 而不是字符串