1

我有一个 dojoType dijit.layout.BorderContainer的 div ,我正在尝试根据视口的大小动态设置此边界容器的大小。创建边框容器的 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 的大小,但是边界容器类型的 div 内的 div 没有改变。

4

1 回答 1

2

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

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

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

另一种方法

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

于 2013-07-23T12:12:56.560 回答