javascript - 折叠一栏并自动调整另一栏

标签 javascript html css twitter-bootstrap-3 responsive-design

我正在努力处理我的用户界面( Bootstrap )。我可以通过单击左侧的小按钮来隐藏导航栏。这工作得很好,没有任何问题。它是由 css 和一些包装器完成的。但我无法对右侧(绿色面板)执行相同的功能。我也尝试用崩溃类来做到这一点。如果我这样做,主要内容(红色窗口)不会自动缩放到右侧的完整可用空间。那么如何才能隐藏绿色面板并将红色内容缩放到全宽呢?这可以通过 CSSJavaScript 来完成。任何帮助,将不胜感激。

fiddle : https://jsfiddle.net/DTcHh/27545/

CSS:

/* Sidebar Navigation Style */
.nav-sidebar {
    position: absolute;
    padding-left: 10px;
    width: 175px;
    height: 100%;
    z-index: 1000;
    display: block;
    background-color: #eee;
    border-right: 1px solid #eee;
}

/*          Wrapper           */
#wrapper {
    padding-left: 175px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
#wrapper.toggled {
    padding-left: 0px;
}

/*       Sidebar Wrapper      */
#sidebar-wrapper {
    z-index: 1000;
    left: 0px;
    width: 0;
    height: 100%;
    margin-left: -205px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
#sidebar-wrapper::-webkit-scrollbar {
    display: none;
}

/*       Main SVG Content     */
#visualization {
    display: inline-block;
    position: relative;
    left: 0px;
    width: 100%;
    padding-bottom: 100vh; /* aspect ratio */
    overflow: hidden;
}

HTML:

<div class="container-fluid">
<div id="wrapper">
    <div id="sidebar-wrapper">
        <ul class="nav nav-sidebar sidebar">
            <li class="sidebar-brand">
                <a>NavBar</a>
            </li>
        </ul>
    </div> <!-- End Sidebar Wrapper -->
    <div class="row" id="row-main-content">
        <div class="col-xs-9" style="background-color: red">
            <button type="button" class="btn btn-primary btn-xs glyphicon glyphicon-indent-right" id="btnHide"></button>
            <button type="button" class="btn btn-primary btn-xs glyphicon glyphicon-list-alt pull-right" id="btnHide2"></button>
            <div class="container-fluid">
                <div class="row">
                    <div id="visualization">
                    </div>
                </div>
            </div>
        </div> <!-- End Page Content Wrapper -->
        <div class="col-xs-3" style="padding-right: 0px">
            <div class="panel panel-default">
                <div class="panel-body" style="height: 100vh; background-color: green">

                </div>
            </div>
        </div> <!-- End Panel Wrapper -->
    </div> <!-- End Row -->
</div> <!-- End Wrapper -->
</div>  

JavaScript:

/* Functionality for Toggle Sidebar Button */
$("#btnHide").click(function () {
    $(this).tooltip("hide");
    $('#wrapper').toggleClass('toggled');
});

最佳答案

我现在在一点jQuery的帮助下解决了我的问题

更新的 fiddle : https://jsfiddle.net/DTcHh/27617/

jQuery 部分 解决我的问题:

$("#btnHide2").click(function () {
    $(this).tooltip("hide");

    if ($('#panel-wrapper').hasClass('collapse')) {
        $('#page-content-wrapper').removeClass('col-xs-12').addClass('col-xs-9');
        $('#panel-wrapper').removeClass('collapse')
    }
    else {
        $('#page-content-wrapper').removeClass('col-xs-9').addClass('col-xs-12');
        $('#panel-wrapper').addClass('collapse')
    }
});

关于javascript - 折叠一栏并自动调整另一栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40911425/

相关文章:

javascript - 想要根据给定的年龄计算出生日期

javascript - 如何格式化适合宽度受限设备(如 iPhone)的长 <pre> HTML block

html - CSS:Flex Children 的宽度和 float

c# - Bootstrap 选择下拉加载问题

html - 2 列带 DIV ....第二个最大尺寸

JavaScript:滚动 iframe 直到具有焦点的 div 出现在 iframe 的中心

javascript - 搜索引擎处理 Javascript 吗?

javascript - 表单提交转至 Javascript - 并保持在同一页面上

php - 无法使用 PHP 从表中删除产品

javascript - 我如何才能针对特定表进行操作?