Я только что столкнулся с этой проблемой некоторое время назад (с немного другим сценарием):
Я использую диалоговое окно jQuery в качестве многоцелевого диалога с кнопками, которые переключают содержимое, отображаемое между 2 различными представлениями (информация и связанная форма).В вспомогательном методе я переключаю исходную видимость между обоими элементами:
$("#element1").attr("style","display: block;");
$("#element2").attr("style","display: block;");
$("#element1").attr("style","display: none;");
$("#element2").attr("style","display: none;");
Затем в условном блоке я устанавливаю высоту модального элемента для высоты отображаемого элемента + 50px (для учетапользовательский набор кнопок, которые я создал), например, так:
var elementHeight = $("#element1").height();
$("#dialog1").dialog("option", "height", elementHeight + 50);
После изменения размера элемента div диалога я устанавливаю конечное состояние для содержимого диалога:
$("#element1").attr("style","display: block;");
$("#element2").attr("style","display: none;");
Я знаюэто немного взломать.Вероятно, есть более «изящные» способы решения этой проблемы, но я не хотел тратить на это больше времени (я просто потратил около 3 часов на борьбу с этой проблемой, пробуя различные настройки ядра jQuery).
Если кто-нибудь придумает лучший способ решить эту проблему, у меня все уши (ошибки, глаза?), Но до тех пор это работает для меня.