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