在调整dijit.layout.BorderContainer的大小调整大小时调整内部div

时间:2013-07-23 10:32:20

标签: javascript dojo

我有一个dojoType dijit.layout.BorderContainer 的div,我试图根据视口的大小动态设置此bordercontainer的大小。用于创建边框容器的html代码是

    <div dojoType="dijit.layout.BorderContainer" design="sidebar" gutters="true" liveSplitters="true" id="borderContainer" style="border: solid green 3px;">
<div dojoType="dijit.layout.ContentPane" splitter="true" region="leading" style="width: 230px; padding:2px 0px 0px 0px;">
</div>
</div>

我正在使用以下javascript代码更新边框容器的大小

var viewport    =   dojo.window.getBox(dojo.doc);
dojo.setStyle('borderContainer','height','430px');

但是在执行代码时,我能够看到要更改的类型边框容器div的大小,但是bordercontainer类型div中的div没有改变。

1 个答案:

答案 0 :(得分:2)

您需要在小部件上调用resize,小部件将调整其子级的大小。

var viewport    =   dojo.window.getBox(dojo.doc);
var borderContainer = dijit.byId('borderContainer');

dojo.setStyle(borderContainer.domNode, 'height','430px');
borderContainer.resize();

另一种方法

当我希望边框容器占据整个屏幕时,我会将其heightwidth设置为100%。边框容器的所有父dom节点也需要设置100%的高度(即<html><body>等。)