2014-03-06 2 views
0

iframe을 완전히 표시해야하는 최소 높이를 계산하려고합니다.렌더링 된 요소 만 포함하여 iframe 높이 얻기

var neededSize = $(window.document).height(); 

    // Get the jquery of the parent in order to resize the frame 
    var par = window.parent; 

    if(par != null) { 
     var jq = par.jQuery; 

     var frameParent = jq('#' + window.frameElement.id); 
     frameParent.height(neededSize); 
    } 

이 접근 방식의 문제는 iframe을 몇 가지 숨겨진 요소가 포함되어 있습니다 :

이를 실현하기 위해, 나는 다음과 같은 접근 방식 시도 (표시 : 없음). jQuery.height()를 사용할 때 숨겨진 요소를 포함하여 필요한 최소 높이를 반환합니다.

jquery 또는 표준 javascript를 통해 접근하여 숨겨진 div가 취하는 높이를 제외한 최소 높이를 얻는 방법을 알고 있거나 직접 계산해야합니까? (각 높이를 모두 숨겨진 필드를 얻을 빼지?)

+0

'display : none'이있는 요소는 문서에서 아무런 공간도 차지하지 않습니다 – matewka

+0

여전히 jQuery ('selector'). 그 (것)들을 포함하십시오. –

+0

당신은 어떻게 든 jsfiddle에서 그것을 설명 할 수 있습니까? 마크 업을 빨리 보더라도이를 해결하는 데 도움이 될 수 있습니다. –

답변

0

문서 준비 핸들러 속기에 포장보십시오 :

$(function(){ 
    //your code here 
}); 

문서 :

.ready에 전달 핸들러는()이다 DOM이 준비된 후에 실행되도록 보장되므로 일반적으로 다른 모든 이벤트 핸들러를 연결하고 다른 jQuery 코드를 실행하는 가장 좋은 장소입니다. CSS 스타일 속성 값에 의존하는 스크립트를 사용하는 경우 외부 스타일 시트를 참조하거나 스크립트를 참조하기 전에 스타일 요소를 포함하는 것이 중요합니다.

따라서 모든 DOM 요소가 렌더링 된 후에 코드가 실행됩니다. 그리고 아마 높이가 숨겨진 요소와 일치합니다. (그들은 .css가 여전히로드되어 있기 때문에 아마도 초 단위로 표시됩니다)

+0

준비가되었지만 이벤트가 트리거되었을 때 문서의 크기를 조정할 필요가 없습니다. 이 이벤트는 문서가 준비된 후에 트리거됩니다. –

+0

시도해 보셨습니까? –