2012-05-31 3 views
2

DOJO의 ContentPane 모듈을 사용하고 있습니다. 나는 하나의 창에 div 요소를 가지고 있는데, ContentPane의 높이보다 100 픽셀 작은 값을 주어야합니다. 따라서 div은 스플리터를 드래그하여 ContentPane 크기를 변경할 때 동적으로 높이가 변경됩니다. 나는 Dojo를 처음 사용하고 누군가가 나를 도와 줄 수 있으면 행복 할 것입니다.DOJO ContentPane ContentPane에서 내부 DIV 높이가 변경되었습니다.

감사합니다.

답변

4

나는 그런 식으로 dijit/layout 크기 조정을 돌볼 것입니다 당신이 자바 스크립트 코드를 작성할 필요가 없습니다 당신의 레이아웃이 전적으로 CSS를 기반으로하기 때문에 최적의 솔루션이 제대로 splitters 설정과 중첩 BorderContainers를 통해 생각합니다.

그것은 설명하기가 좀 복잡, 그래서 나는 jsFiddle에서 당신을 위해 작업 예제를 만들 것 : http://jsfiddle.net/phusick/Ayg8F/ +도 :

enter image description here

NB : 설정하는 것을 잊지 마세요 height: 100%에 대한 html, body 상단 BorderContainer.

이 솔루션의 단점은 일반 divsContentPanes으로 대체해야한다는 것입니다. 당신이 원하는하지 않거나 할 수없는 당신은 dojo/aspect을 사용하고 BorderContainer 또는 ContentPaneresize 방법에 연결하고 divs 수동 때마다 크기 변경 크기를 조정할 수있는 경우 :

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"); 
     }); 
    }); 
});​ 
관련 문제