2012-03-12 2 views
0

간단한 웹 사이트에 jScrollPane을 사용하고 있는데, 600px의 높이로 가운데에 고정 된 div를 사용하기로 결정했기 때문입니다. 모든 것은 페이스 북 코멘트를 추가 할 때를 제외하고는 잘 작동합니다. 스크롤 가능한 다이빙은 페이스 북 코멘트 블록이로드 될 때까지 기다리지 않으므로 코멘트 상자를 볼 수 없습니다!지연 jQuery 스크립트

나는 HEAD 태그 안에 스크롤 스크립트 함수를 호출하고 여기

 <script type="text/javascript" id="sourcecode"> 
     $(function() 
     { 
      $('.scroll-pane').jScrollPane(); 
     }); 
     </script> 

되고 scripto BODY 태그 뒤에 immideatly 삽입 된 페이스 북의 코멘트 상자 :

 <div id="fb-root"></div> 
    <script>(function(d, s, id) { 
      var js, fjs = d.getElementsByTagName(s)[0]; 
      if (d.getElementById(id)) return; 
      js = d.createElement(s); js.id = id; 
      js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; 
      fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk'));</script> 

그리고 여기 내 스크롤 가능한 DIV의 스타일을 정의하는 CSS이 있습니다.

.scroll-pane 
{ 
    width: 100%; 
    height: 600px; 
    overflow: auto; 
} 

내가 말했듯이, 스크롤 된 div는 잘 작동하지만, 어떻게 든 페이스 북 코멘트 박스가로드 될 때까지 기다려야한다고 생각합니다. 어떤 제안이 appriciated입니다!

내가 스크롤 사업부 동적 콘텐츠를 확인할 수있는 여기

UPDATE : dynamic content,하지만 난 어디에 내 html 파일에 때라도 코드를 삽입하는 방법 아무 생각이 :

$(function() 
{ 
    var settings = { 
     showArrows: true 
    }; 
    var pane = $('.scroll-pane') 
    pane.jScrollPane(settings); 
    var api = pane.data('jsp'); 
    var i = 1; 
)}; 
+1

왜 '문서'를 매개 변수로 보내나요? '

2

내가 배치 할 모든 것을 당신은 내부 .ready()

$(document).ready(function() { 
    // Handler for .ready() called. 
}); 

이 전체 페이지가 아무것도 JQuery와 실행될 때까지로드되었는지 확인합니다 현명한 JQuery와/자바 스크립트를하고.

div id를 사용하여 약간 더 자세히 설명합니다.

$(document).ready(function() 
$("#fb-root").function({ 
    'onSuccess': function() { 

     // Perform all of these now that fbook box is loaded 
    } 
)}; 
)};