2013-04-23 4 views
1

У меня есть диалоговое окно Fancybox, которое загружает контент AJAX. Пользователь может нажать «+», чтобы добавить строку внутри. По мере добавления строк диалог становится больше, чем размер экрана. Появится полоса прокрутки, , но диалог не может быть прокручен вниз, он продолжает восстанавливаться.Fancybox не может прокручиваться до переполнения

Как исправить это?

+0

любой шанс вы можете поделиться ссылкой или создать демо что воспроизводит проблему? – JFK

ответ

0

Извините, ребята, мое плохое. Для справок в будущем, вот исправление.

Никогда попробуйте динамически обновить и изменить положение вашего Fancybox.

То, что я пытался

$('#stuff').fancybox({ 
    ... stuff 
    onUpdate: function() { 
     $.fancybox.update(); 
     $.fancybox.reposition(); 
    } 
}); 

В конечном счете, на каждом обновлении, то FancyBox должен центрироваться и изменить себя.

Однако! В действительности он пытается сделать это каждые несколько миллисекунд. Это заставляет инспектор Chrome замораживать всякий раз, когда Fancybox активен, а также приводит к сбою прокрутки (он продолжает пытаться обновить размер/позицию, пока вы пытаетесь прокрутить его, что приводит к сбою).

Правильный путь

обновления каждый раз, когда вы ожидаете, что ваш размер, чтобы изменить вручную.

  • При изменении диалогового содержимого (если это AJAX)
  • При показе внутри-ошибки или добавлять новые дивы внутри
  • и т.д.
+0

было полезно .. –

Смежные вопросы