Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Layout DOJO ContentPane内部DIV高度在ContentPane调整大小时更改_Layout_Dojo_Dijit.layout_Contentpane - Fatal编程技术网

Layout DOJO ContentPane内部DIV高度在ContentPane调整大小时更改

Layout DOJO ContentPane内部DIV高度在ContentPane调整大小时更改,layout,dojo,dijit.layout,contentpane,Layout,Dojo,Dijit.layout,Contentpane,我正在使用DOJO的ContentPane模块。我在其中一个窗格中有一个div元素,我需要给它一个特定的高度-比ContentPane的高度小100个像素,这样当您通过拖动拆分器更改ContentPane大小时,div会动态更改其高度。我是Dojo的新手,如果有人能帮我,我会很高兴的 谢谢。我认为最好的解决方案是通过带有正确设置拆分器的嵌套BorderContainer,因为这样dijit/layout将负责调整大小,您不需要编写任何JavaScript代码,并且您的布局将完全基于CSS 解释起

我正在使用DOJO的ContentPane模块。我在其中一个窗格中有一个div元素,我需要给它一个特定的高度-比ContentPane的高度小100个像素,这样当您通过拖动拆分器更改ContentPane大小时,div会动态更改其高度。我是Dojo的新手,如果有人能帮我,我会很高兴的


谢谢。

我认为最好的解决方案是通过带有正确设置拆分器的嵌套BorderContainer,因为这样dijit/layout将负责调整大小,您不需要编写任何JavaScript代码,并且您的布局将完全基于CSS

解释起来有点麻烦,所以我在jsFiddle为您创建了一个工作示例:+一个图表:

注意:不要忘记为html、正文和顶部边框容器设置高度:100%

此解决方案的缺点是必须用ContentPanes替换普通div。如果不想或不能,可以使用dojo/aspect并连接到BorderContainer或ContentPane resize方法,并在大小更改时手动调整div的大小:

require([
    "dojo/ready",
    "dojo/aspect",
    "dijit/registry",
    "dijit/layout/ContentPane",
    "dijit/layout/BorderContainer"
], function(
    ready,
    aspect,
    registry
) {

    ready(function() {
        var bc = registry.byId("borderContainer1");
        aspect.after(bc, "resize", function() {
            // calculate and set <div> size here
            console.log("resize divs");
        });
    });  
});​

我认为最好的解决方案是通过嵌套的bordercontainer和正确设置的拆分器,因为这样dijit/layout将负责调整大小,您不需要编写任何JavaScript代码,并且您的布局将完全基于CSS

解释起来有点麻烦,所以我在jsFiddle为您创建了一个工作示例:+一个图表:

注意:不要忘记为html、正文和顶部边框容器设置高度:100%

此解决方案的缺点是必须用ContentPanes替换普通div。如果不想或不能,可以使用dojo/aspect并连接到BorderContainer或ContentPane resize方法,并在大小更改时手动调整div的大小:

require([
    "dojo/ready",
    "dojo/aspect",
    "dijit/registry",
    "dijit/layout/ContentPane",
    "dijit/layout/BorderContainer"
], function(
    ready,
    aspect,
    registry
) {

    ready(function() {
        var bc = registry.byId("borderContainer1");
        aspect.after(bc, "resize", function() {
            // calculate and set <div> size here
            console.log("resize divs");
        });
    });  
});​