jQuery UI叠加重复修复“自动”尺寸

时间:2011-05-10 21:47:16

标签: javascript html css jquery-ui

不久前,我遇到了弹出式对话框的问题,这些对话框的高度超出了背景。半透明的覆盖层停在中间,下面的一切都是黑色的。我的朋友为我修好了。他说:

“对于对话问题,我使用了900px的宽度和高度。没有办法完全用CSS完成修复,因为当调用javascript来显示对话框时,这些值最终会被覆盖。我们需要做的是打开后/创建对话框是为了将背景叠加层调整为页面尺寸。您可以在index.html中查看奖励功能。“

不幸的是,当宽度和高度设置为“自动”时,此修复程序不适用。

有人可以帮我吗?感谢。

   $("<div class='popupDialog'>Loading...</div>")
        .dialog({
            autoOpen: true,
            closeOnEscape: true,
            width: '900',
            height: '900',
            modal: true,
            title: 'Bonus Features',
            beforeClose: function(){   $(this).remove();   }
        }).load(url, function() {
            $(this).dialog("option", "position", ['center', 'center'] );
        });


        adjustJQueryDialogOverlay();
    }

    $(window).resize(function() {
        $(".ui-dialog-content").dialog("option", "position", ['center', 'center']);
    });

1 个答案:

答案 0 :(得分:0)

function openDialog(url) {
    $("<div class='popupDialog'>Loading...</div>")
        .dialog({
            autoOpen: false,
            closeOnEscape: true,
            width: '900',
            height: 'auto',
            modal: true,
            title: 'Bonus Features',
        }).bind('dialogclose', function() {
            jdialog.dialog('destroy');
        }).load(url, function() {
            $(this).dialog("option", "position", ['center', 'center'] ).bind('dialogopen', function() {
                    adjustJQueryDialogOverlay();
                });
                $(this).dialog("open");
        });
}

$(window).resize(function() {
    $(".ui-dialog-content").dialog("option", "position", ['center', 'center']);
});