使用 javascript 动态添加或删除 overflow-Y 滚动 div 的 属性
Dynamically add or remove height and overflow-Y scroll property of a div using javascript
我在基于 bootstrap 的页面上有两个部分 [divs]。左侧部分包含一个 bootstrap 面板,最初调整大小以占据整个页面,然后单击面板 header 上的字形,右侧部分滑动与左侧面板共享页面。右侧部分的内容也是面板,其内容为动态[table和动态行]。左侧面板被编码为始终占据 window 高度。我想要的是右侧 div 也始终占据 window 高度,并且为了溢出让右侧部分出现滚动。如果我对右侧部分的高度进行硬编码,然后给出 overflow-y: scroll,那么它就可以工作了。但我想同时提供使用 javascript 和 window 宽度的高度。请帮忙。
<body style = "height: 100%; overflow:hidden;">
<div id="navigationbar">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">TRAMM</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav navbar-right" id="menu">
<li><a href="">Home</a></li>
<li><a href="">Page1</a></li>
<li><a href="">Page2</a></li>
<li><a href="">Page3</a></li>
<li><a href="">Page4</a></li>
</ul>
</div>
</div>
</nav>
</div>
<div id="wrapper">
<div id="main-wrapper" class="col-sm-6">
<div class="panel panel-info" style="margin-top: 1%">
<div class="panel-heading" id="JnName">
<div class="row">
<div class="col-sm-8">
NAME : Somename
</div>
<div class="col-sm-4" style="text-align: right;">
<span class="toggle-button bs-tooltip" id="ShowButton" style="cursor: pointer" data-toggle="tooltip" data-placement="left" title="Click to toggle sidebar">
<span id="glyphbutton" class="glyphicon glyphicon-backward"></span>
</span>
</div>
</div>
</div>
<div class="panel-body" id="SVGPanel">
</div>
</div>
</div>
<div id="sidebar-wrapper" class="col-sm-6 sidebar">
<div class="panel panel-info" style="margin-top: 1%;" id="JunctionParam">
<div class="panel-heading" id="JunctionParameters">Junction Parameters</div>
<div class="panel-body">
<p>
Please fill the content which is more than the window height here...
</p>
</div>
</div>
</div>
</div>
</body>
我已经试过了。但是好像没有效果
function autoAdjust()
{
var $sidebarwrapperscroller;
$sidebarwrapperscroller = document.getElementById('sidebar-wrapper');
$sidebarwrapperscroller.style.height = $(window).height();
alert("setheight");
$sidebarwrapperscroller.style.overflowY = "scroll";
}
但是没有任何javascript,如果我设置
<div id="sidebar-wrapper" class="col-sm-6 sidebar" style="height: 700px; overflow-y:scroll;">
然后它的工作。但我希望高度动态设置为 window 高度。
如果我理解你的话,你需要添加 overflow-y:scroll 和 height:auto 到 sidebar-wrapper 吗?
也许 jquery?
$("#sidebar-wrapper").click(function() {
if ( $("#sidebar-wrapper").css('display') == 'visible' ){
$("#sidebar-wrapper").css({"height":"auto", "overflow-y":"scroll"});
}else{
$("#sidebar-wrapper").css({"height":"", "overflow-y":""});
}
});
将 sidebar-wrapper id 替换为您在 .click 函数中的字形 id
我在基于 bootstrap 的页面上有两个部分 [divs]。左侧部分包含一个 bootstrap 面板,最初调整大小以占据整个页面,然后单击面板 header 上的字形,右侧部分滑动与左侧面板共享页面。右侧部分的内容也是面板,其内容为动态[table和动态行]。左侧面板被编码为始终占据 window 高度。我想要的是右侧 div 也始终占据 window 高度,并且为了溢出让右侧部分出现滚动。如果我对右侧部分的高度进行硬编码,然后给出 overflow-y: scroll,那么它就可以工作了。但我想同时提供使用 javascript 和 window 宽度的高度。请帮忙。
<body style = "height: 100%; overflow:hidden;">
<div id="navigationbar">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">TRAMM</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav navbar-right" id="menu">
<li><a href="">Home</a></li>
<li><a href="">Page1</a></li>
<li><a href="">Page2</a></li>
<li><a href="">Page3</a></li>
<li><a href="">Page4</a></li>
</ul>
</div>
</div>
</nav>
</div>
<div id="wrapper">
<div id="main-wrapper" class="col-sm-6">
<div class="panel panel-info" style="margin-top: 1%">
<div class="panel-heading" id="JnName">
<div class="row">
<div class="col-sm-8">
NAME : Somename
</div>
<div class="col-sm-4" style="text-align: right;">
<span class="toggle-button bs-tooltip" id="ShowButton" style="cursor: pointer" data-toggle="tooltip" data-placement="left" title="Click to toggle sidebar">
<span id="glyphbutton" class="glyphicon glyphicon-backward"></span>
</span>
</div>
</div>
</div>
<div class="panel-body" id="SVGPanel">
</div>
</div>
</div>
<div id="sidebar-wrapper" class="col-sm-6 sidebar">
<div class="panel panel-info" style="margin-top: 1%;" id="JunctionParam">
<div class="panel-heading" id="JunctionParameters">Junction Parameters</div>
<div class="panel-body">
<p>
Please fill the content which is more than the window height here...
</p>
</div>
</div>
</div>
</div>
</body>
我已经试过了。但是好像没有效果
function autoAdjust()
{
var $sidebarwrapperscroller;
$sidebarwrapperscroller = document.getElementById('sidebar-wrapper');
$sidebarwrapperscroller.style.height = $(window).height();
alert("setheight");
$sidebarwrapperscroller.style.overflowY = "scroll";
}
但是没有任何javascript,如果我设置
<div id="sidebar-wrapper" class="col-sm-6 sidebar" style="height: 700px; overflow-y:scroll;">
然后它的工作。但我希望高度动态设置为 window 高度。
如果我理解你的话,你需要添加 overflow-y:scroll 和 height:auto 到 sidebar-wrapper 吗? 也许 jquery?
$("#sidebar-wrapper").click(function() {
if ( $("#sidebar-wrapper").css('display') == 'visible' ){
$("#sidebar-wrapper").css({"height":"auto", "overflow-y":"scroll"});
}else{
$("#sidebar-wrapper").css({"height":"", "overflow-y":""});
}
});
将 sidebar-wrapper id 替换为您在 .click 函数中的字形 id