2011-11-17 3 views
1

방금 ​​전에 마지막 질문을 망쳤다는 것을 깨달았습니다.자바 스크립트 동적 콘텐츠가로드 된 후에 div의 높이를 가져옵니다.

나는이 스크립트를 사용하여 DIV # tweet-area의 동적 높이를 얻은 다음 그 높이를 CSS에 삽입합니다.

var tweetheight = $("#tweet-area").height(); 
    $("#sidebar-wrapper").css({ bottom: tweetheight}); 

는 그것은 근사한 작동하지만 난 그냥 점점 높이를 실현,로드 내 트위터의 콘텐츠 전 사업부의 높이입니다. 내 트위터 콘텐츠는 jQuery 플러그인에 의해 생성됩니다 (아래 참조).

나는이 jQuery를 트위터 플러그인을 사용하고 있습니다 - tweet.seaofclouds.com/jquery.tweet.js

을 그리고이 같은 스크립트를로드 -

$("#latest-tweet").tweet({ 
     count: 1, 
     username: ["motocomdigital"], 
     loading_text: "searching twitter...", 
    }); 

임 DIV 번호 트윗 지역 내에 DIV 번호 최신-트윗으로 트윗을로드 . 필자가 트위터 스크립트 후 내 높이 스크립트를 추가하는 시도

<div id="tweet-area" class="clearfix"> 
     <div id="latest-tweet"></div> 
    </div> 

아래를 참조하지만 여전히 같은 높이를 가져옵니다이 나를 위해 약간의 전문가이기 때문에/

<script> 
     $(document).ready(function() { 

       $("#latest-tweet").tweet({ 
         count: 1, 
         username: ["motocomdigital"], 
         loading_text: "searching twitter..." 
       }); 

       var tweetheight = $("#tweet-area").height(); 
       $("#sidebar-wrapper").css({ bottom: tweetheight}); 

     }); 
    </script> 

어떤 도움이 좋지 않을까. 이 코드를 실행 한 후 loaded 핸들러를 호출 당신이있어 플러그인에서 제대로 문서화 된 발신자를 구현

<script> 
     $(document).ready(function() { 

       $("#latest-tweet").tweet({ 
         count: 1, 
         username: ["motocomdigital"], 
         loading_text: "searching twitter..." 
       }).bind("loaded", function(){ 
         tweetheight = $("#tweet-area").height(); 
         $("#sidebar-wrapper").css({ bottom: tweetheight}); 
       }); 
     }); 
    </script> 

:의 라인을 따라 너무 많은

답변

3

시도 뭔가 감사드립니다. 행운을 빕니다!

+0

고마워요, 너무 많은 남자! - 고마워, 주셔서 감사합니다. 나는 그 핸들러를 찾지 못했을 것입니다. - 전에는 .bind를 사용한 적이 없지만 지금은 확실합니다. – Joshc

2

seaofclouds 플러그인에는 콜백이없고 대신 트윗의로드가 완료되었을 때 발생하는 loaded 이벤트가 있습니다.

따라서 다음이 당신을 위해 작동합니다 : 플러그인의 라인 229

$("#latest-tweet").tweet({ 
    count: 1, 
    username: ["motocomdigital"], 
    loading_text: "searching twitter..." 
}) 
.bind("loaded", function() { 
    var tweetheight = $("#tweet-area").height(); 
    $("#sidebar-wrapper").css({ bottom: tweetheight}); 
});     
+0

옙은 완벽하게 감사합니다. - 설명해 주셔서 감사합니다! – Joshc

1

당신이 당신의 트윗을 바인더 제본 사업부의 이벤트 loaded를 트리거

$(widget).trigger("loaded") 

를 참조하십시오. 그럼 할 수 있니

$("#latest-tweet").tweet({  
    // options 
}).bind("loaded", function(){ 
    // calc height 
}); 
+0

그래, 그냥 플러그인 내부 쪽을 들여다 보았다. - 내게 이것을 설명해 주셔서 고맙다. – Joshc

+0

welcome @ user801773 –

+0

안녕하세요, 약간 건방진 알지만 이전에 내 문제에 익숙한 분이라면 [http://goo.gl/NWNx8](http://goo .gl/NWNx8) - 도울 수있는 경우 페이팔을 통해 기부 할 수 있습니다. :) – Joshc