Модальное диалоговое окно jQuery вызывает появление полос прокрутки IE - PullRequest
2 голосов
/ 16 ноября 2010

Когда мы отображаем модальное диалоговое окно jQuery в IE8, в области родительского окна отображаются вертикальные и горизонтальные полосы прокрутки - как этого избежать?

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

Я только что столкнулся с этой проблемой некоторое время назад (с немного другим сценарием):

Я использую диалоговое окно 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).

Если кто-нибудь придумает лучший способ решить эту проблему, у меня все уши (ошибки, глаза?), Но до тех пор это работает для меня.

0 голосов
/ 16 ноября 2010

Убедитесь, что области содержимого под элементом div с полосами прокрутки не превышают 100% высоты или ширины элемента div во время выполнения.Кроме того, установите .wrapper {overflow: hidden;}, чтобы скрыть любое превышение.

...