2012-03-12 2 views
0

Я использую jScrollPane для простого веб-сайта, потому что я решил пойти с центрированным, фиксированным div с высотой 600 пикселей. Все работает отлично, за исключением случаев, когда я добавил комментарий к facebook, прокручиваемое погружение не дожидается загрузки блока комментариев facebook, поэтому поле комментариев не доступно для просмотра!Задержка сценариев jQuery

Я вызываю функцию к сценарию прокрутки внутри HEAD тега:

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

А вот Scripto комментарий коробка facebook, которая вставляется immideatly после BODY тега:

 <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> 

И вот CSS, который определяет стиль для моего прокручиваемого DIV:

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

Как я уже сказал, прокрученный div работает отлично, но я думаю, мне нужно как-то заставить его подождать, когда загрузится окно комментариев на facebook. Любое предложение оценивается!

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

Почему вы отправляете 'document' в качестве параметра? и вы ищете '

2

Я бы на месте все, что вы делаете JQuery/JavaScript мудрое внутри .ready()

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

Это гарантирует, что вся страница не загружается, пока что-нибудь Jquery работает.

Это немного более подробно, используя ваш идентификатор div.

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

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