嗨,我有2个侧边栏。通过将元素从屏幕上偏移并为他赋予left属性负值,可以隐藏一个左侧边栏。
另一方面,右侧菜单没有正确消失,我仍然可以水平滚动并查看此菜单。
如何不使用display:none或visible:hidden隐藏右侧栏。
我正在添加代码。



   $(function () {
        $("#arrow_btn").click(function () {
            $("#navbar, .upper_menu").toggleClass('active');
            $("#upper_left_menu").toggleClass('open_left_menu');
            console.log("look for arrow btn element");
            console.log("upper_left_menu", $("#upper_left_menu"));
            console.log('$("#navbar")', $("#navbar"));
        });

        $(".project_item").click(function (event) {
            var list = $(this).siblings();
            var i = $(this).find('i');
            $(list).toggleClass('closed_nested_list');
            if ($(i).hasClass('fa-plus')) {
                $(i).removeClass('fa-plus');
                $(i).addClass('fa-minus');
            } else {
                $(i).addClass('fa-plus');
                $(i).removeClass('fa-minus');
            }
            console.log('traverse over all project items');
            console.log('i', i);
            console.log('list', list);
        });

        $("#email").click(function(){
          console.log("you clicked email ya ya ");
          $("#right-navbar").css("display",'inline-block');
          $("#right-navbar, .upper_menu").toggleClass('active');
            $("#upper_right_menu").toggleClass('open_right_menu');
        });

     $(".list_item").click(function(){
       console.log('you clicked list item');
       $("#chatWrapper").toggleClass('active');
$("#right-navbar").toggleClass('aside');
       $("#upper_right_menu").toggleClass('aside_right_menu');
     });

    });

#arrow_btn{
        font-size: 30px;
        font-weight:normal;
    }

    #arrow_btn:hover{
        color: #3983C4;
    }

    .upper_menu {
        display: block;
        background-color: #F2F6F7;
        width: 100%;
        top: 0;
        right: 0;
    }
    #upper_left_menu {
        width: 30px;
        height: 30px;
        z-index: 1;
        -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
    }

#upper_right_menu{
        z-index: 1;
        -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
}

    .open_left_menu {
        margin-left: 223px;

    }

 .open_right_menu {
        margin-right: 223px;
   -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
    }
.aside_right_menu{
  margin-right: 43.5%;
}
    #upper_right_menu {
        position: absolute;
        top: 0px;
        right: 0px;
    }

    #exclamation-triangle,
    #envelope {
        font-size: 24px;
    }

    .warning,
    .email {
        margin: 10px;
    }

 #navbar {
        position: absolute;
        left: -16em;
        top: 0;
        bottom: 0;
        background-color: white;
        box-shadow: 4px 0 5px rgba(0, 0, 0, 0.2);
        z-index: 1;
        cursor: pointer;
        animation: 10s;
        overflow-y: auto;
        overflow-x: hidden;
    }

    #navbar ul {
        width: 224px;
        list-style-type: none;
        margin: 0;
        padding: 1em;
    }

#right-navbar{

  position: absolute;
        right: -16em;
        top: 0;
        bottom: 0;
        background-color: white;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
        z-index: 1;
        cursor: pointer;
        animation: 10s;
        overflow-y: auto;
        overflow-x: hidden;
}

#chatWrapper{
  display:none;
  position: absolute;
        right: -32em;
        top: 0;
        bottom: 0;
        width:338.667px;
        background-color: white;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
        z-index: 1;
        cursor: pointer;
        animation: 10s;
        overflow-y: auto;
        overflow-x: hidden;
}

#right-navbar ul {
        width: 224px;
        list-style-type: none;
        margin: 0;
        padding: 1em;
    }
/* hovering */
    #chatWrapper,
    #chatWrapper *
    #right-navbar,
    #right-navbar *,
    #navbar,
    #navbar * {
        -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
    }

    #navbar.active {
        left: 0px;
    }

  #right-navbar.active{
      right: 0px;
    -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
  }
 #right-navbar.aside{
      right: 26.5%;
  }
#chatWrapper.active{
  right:0%;
}

    .nested_list {
        display: inline-block;
        visibility: visible;
    }

    .closed_nested_list {
        display: none;
    }

    .project_item {
        font-family: 'Segue UI', Calibri, arial, verdana, sans-serif;
        font-size: 18px;
    }

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/>
<nav class="upper_menu">
    <div id="upper_left_menu">
        <span id="arrow_btn"  class="glyphicon glyphicon-play-circle"></span>
    </div>
    <div id="upper_right_menu">
        <a href="#" class="warning"><i id="exclamation-triangle" class=" fa fa-exclamation-triangle"></i><span id="exclamation_notifications_count">2</span></a>
        <a href="#" id="email" class="email"><i id="envelope" class=" fa fa-envelope-o"></i><span id="email_notifications_count">5</span></a>
    </div>
</nav>
<nav id="navbar">
    <ul>
        <li class="project_container">
            <span class="project_item" >
                <i class="fa fa-plus"></i>
                FDR Project
            </span>
            <ul id="listOne" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Niagara Project</span>
            <ul id="listTwo" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Jarvis Plant</span>
            <ul id="listThree" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Jarvis Plant</span>
            <ul id="listFour" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
    </ul>
</nav>

<nav id="right-navbar">
    <ul>
        <li class="project_container">
            <span class="project_item" >
                <i class="fa fa-plus"></i>
                FDR Project
            </span>
            <ul id="listOne" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Niagara Project</span>
            <ul id="listTwo" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Jarvis Plant</span>
            <ul id="listThree" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Jarvis Plant</span>
            <ul id="listFour" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
    </ul>
</nav>

<nav id="chatWrapper">
  Hello Chat Warpper
</nav>





一小段原始代码,没有左侧菜单,只有右侧菜单



   $(function () {

        $("#email").click(function(){
          console.log("you clicked email ya ya ");
          $("#right-navbar").css("display",'inline-block');
          $("#right-navbar, .upper_menu").toggleClass('active');
            $("#upper_right_menu").toggleClass('open_right_menu');
        });

     $(".list_item").click(function(){
       console.log('you clicked list item');
       $("#chatWrapper").toggleClass('active');
$("#right-navbar").toggleClass('aside');
       $("#upper_right_menu").toggleClass('aside_right_menu');
     });

    });

#arrow_btn{
        font-size: 30px;
        font-weight:normal;
    }

    #arrow_btn:hover{
        color: #3983C4;
    }

    .upper_menu {
        display: block;
        background-color: #F2F6F7;
        width: 100%;
        top: 0;
        right: 0;
    }

#upper_right_menu{
        z-index: 1;
        -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
}

    .open_left_menu {
        margin-left: 223px;

    }

 .open_right_menu {
        margin-right: 223px;
   -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
    }
.aside_right_menu{
  margin-right: 43.5%;
}
    #upper_right_menu {
        position: absolute;
        top: 0px;
        right: 0px;
    }

    #exclamation-triangle,
    #envelope {
        font-size: 24px;
    }

    .warning,
    .email {
        margin: 10px;
    }

#right-navbar{

  position: absolute;
        right: -16em;
        top: 0;
        bottom: 0;
        background-color: white;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
        z-index: 1;
        cursor: pointer;
        animation: 10s;
        overflow-y: auto;
        overflow-x: hidden;
}

#chatWrapper{
  display:none;
  position: absolute;
        right: -32em;
        top: 0;
        bottom: 0;
        width:338.667px;
        background-color: white;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
        z-index: 1;
        cursor: pointer;
        animation: 10s;
        overflow-y: auto;
        overflow-x: hidden;
}

#right-navbar ul {
        width: 224px;
        list-style-type: none;
        margin: 0;
        padding: 1em;
    }
/* hovering */
    #chatWrapper,
    #chatWrapper *
    #right-navbar,
    #right-navbar * {
        -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
    }

    #navbar.active {
        left: 0px;
    }

  #right-navbar.active{
      right: 0px;
    -webkit-transition: all 600ms ease;
        -moz-transition: all 600ms ease;
        -ms-transition: all 600ms ease;
        -o-transition: all 600ms ease;
        transition: all 600ms ease;
  }
 #right-navbar.aside{
      right: 26.5%;
  }
#chatWrapper.active{
  right:0%;
}

    .nested_list {
        display: inline-block;
        visibility: visible;
    }

    .closed_nested_list {
        display: none;
    }

    .project_item {
        font-family: 'Segue UI', Calibri, arial, verdana, sans-serif;
        font-size: 18px;
    }

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="upper_menu">
    <div id="upper_left_menu">
        <span id="arrow_btn"  class="glyphicon glyphicon-play-circle"></span>
    </div>
    <div id="upper_right_menu">
        <a href="#" class="warning"><i id="exclamation-triangle" class=" fa fa-exclamation-triangle"></i><span id="exclamation_notifications_count">2</span></a>
        <a href="#" id="email" class="email"><i id="envelope" class=" fa fa-envelope-o"></i><span id="email_notifications_count">5</span></a>
    </div>
</nav>
<nav id="right-navbar">
    <ul>
        <li class="project_container">
            <span class="project_item" >
                <i class="fa fa-plus"></i>
                FDR Project
            </span>
            <ul id="listOne" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Niagara Project</span>
            <ul id="listTwo" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Jarvis Plant</span>
            <ul id="listThree" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
        <li class="project_container">
            <span class="project_item" href="#"><i class="fa fa-plus"></i>  Jarvis Plant</span>
            <ul id="listFour" class="nested_list closed_nested_list">
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit01</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit02</li>
                <li class="list_item"><img height="24" width="24" src="http://i65.tinypic.com/2ev4vmw.png" />     Unit03</li>
            </ul>
        </li>
    </ul>
</nav>
<nav id="chatWrapper">
  Hello Chat Warpper
</nav>

最佳答案

从评论中移出答案...

overflow-x: hidden;添加到导航栏的父元素(在此示例中,父元素为body)。

当导航栏离开屏幕右侧时,这将防止水平滚动条出现。

关于javascript - 隐藏的右侧边栏仅使用位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36135497/

10-12 16:22