2012-11-23 4 views
2

절대적으로 자식을 배치 한 컨테이너의 높이를 계산하는 방법은 무엇입니까? 직접적인 아이들 만 절대적으로 위치한다고 가정 할 수 있습니다.절대적으로 위치한 자식이있는 컨테이너의 높이를 계산하십시오.

P.S. (물론 다른 보이는 다른 브라우저가 태그를 변환 용)

<div class=my-view style="position: relative";> 
<div class=my-child style="position: absolute; top: 5px; left: 10px; -webkit-transform: rotate(13deg);"> 
<div class=my-child style="position: absolute; padding-bottom: 5%; padding-left: 10%; -webkit-transform: rotate(-6deg);"> 
</div> 
</div> 

: 어린 일부는 다음과 같이 패딩을 사용하여 위치, 같은 클래스 (NO ID를) 가지고 회전 필요한 경우 자녀가 ID를 가질 수 있습니다

[업데이트] 루프 oTot.tot이 0 ("tot"은 "total"과 같기 때문에) 때문에이 코드와 같은 코드가 작동하지만 실제로 작동하지 않을 수 있습니다.

var oTot = { tot: 0 }; 
    $(".my-view .my-child").each(function() { 
    var h = $(this).outerHeight(); 
    var y = $(this).position().top + h; 
    if (y > oTot.tot) { 
     oTot.tot = y; 
    } 
    }); 

답변

0

해결책을 시도하십시오.

var oTot = { tot: 0 }; 
$(".my-child").each(function() { 
    var h = $(this).outerHeight(), 
     y = $(this).position().top + h; 

    if (y > oTot.tot) { 
     oTot.tot = y; 
    } 
}); 

console.log(oTot); 
+0

너무 큰 숫자입니다. 그 이유는 용기의 높이가 어린이의 높이의 합과 같지 않기 때문입니다. 왜냐하면 어린이는 다른 어린이보다 아래에 있지 않기 때문에 절대적으로 배치됩니다. 나는 그것이 함수 내에서 아이의 상위 + 높이 값을 확인하는 것이 필요하다고 생각하고 그것은 이전 루프 단계에서보다 큰 경우 최대를 높이십시오. 몇 가지 코드를 작성했지만 작동하지 않습니다. 루프 이후에 총계가 다시 0이기 때문입니다. 내 게시물의 끝에 그것을 놓을 게. – camcam

+0

callback $ .each가 호출 될 때 객체 oTot를 재정의합니다. 따라서 oTot는 정의되지 않습니다. 보기 예 : http://jsfiddle.net/6cD94/1/ –

+0

그래, 어제 이미 알아 냈어. 내 업데이트 된 알고리즘과 함께 귀하의 답변을 생각하는 사람이 달성하기를 원하는 따라 달라질 수있는 그림을 제공합니다. – camcam

관련 문제