我有一个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没有改变。
答案 0 :(得分:2)
您需要在小部件上调用resize
,小部件将调整其子级的大小。
var viewport = dojo.window.getBox(dojo.doc);
var borderContainer = dijit.byId('borderContainer');
dojo.setStyle(borderContainer.domNode, 'height','430px');
borderContainer.resize();
另一种方法
当我希望边框容器占据整个屏幕时,我会将其height
和width
设置为100%。边框容器的所有父dom节点也需要设置100%的高度(即<html>
,<body>
等。)