2009-04-22 4 views
1

sifr의 실행이 완료되었다는 것을 어떻게 확인할 수 있습니까? 페이지로드시 sifr 텍스트가있는 요소의 높이를 알아야하지만, 높이를 확인할 때 sifr이 아직 완료되지 않았고 잘못된 값 (sifr이 적용되기 전에 요소의 높이)이 표시됩니다. 그리고 나는 높이를 찾기 위해 임의의 지연을 두지 않아도되는 것을 확실히 피하고 싶습니다. 어떤 제안?sifr이 완료되면 언제 결정합니까?

답변

1

요소가 대체 될 때마다 호출되는 onReplacement 콜백을 사용할 수 있습니다. sIFR.replace()에 대한 인수로 지정되었습니다. 자세한 내용은 http://wiki.novemberborn.net/sifr3/JavaScript+Methods입니다.

거기에서 첫 번째 인수로 전달 된 FlashInteractor 개체를 사용하여 대체 된 요소를 가져옵니다.

페이지 크기가 조정되면 텍스트가 줄 바꿈되어 플래시 동영상의 높이가 변경 될 수 있습니다. 이에 대한 콜백이 없습니다.

0

시간이 오래 걸리고 마침내 브라우저 간 jQuery 솔루션이 생겼습니다. 비슷한 상황에서 많은 사람들에게 도움이되기를 바랍니다.

<script src="/path_to_jquery/jquery.js" type="text/javascript" language="javascript1.2"></script> 
<script language="javascript"> 
    function setEqualHeight(columns) 
    { 
     var tallestcolumn = 0; 
     columns.each(
     function() 
     { 
       currentHeight = $(this).height(); 
       if(currentHeight > tallestcolumn) 
       { 
        tallestcolumn = currentHeight; 
       } 
     } 
     ); 
     columns.height(tallestcolumn); 
    } 

    $(window).load(function(){ 
     var dlay = setInterval(function(){ 
     if(jQuery('.sIFR-replaced').length>=sIFR.replacements.length){ 
      setEqualHeight($(".jqueryheight")); 
      clearInterval(dlay); 
     }; 
     },100);     
    });     
</script> 
관련 문제