定位jQuery对话框垂直居中,动态高度内容

时间:2015-01-05 20:47:54

标签: javascript jquery html asp.net-mvc-4 jquery-dialog

我正在使用一个jQuery对话框,其内容大小可变。我使用create方法动态填充内容。当对话框呈现时,对话框的左上角位于屏幕的中央,但由于对话框非常高,因此底部离页面很远。无论对话框的大小如何,我都希望它完全居中。这是jQuery:

var dialogOptions = {
    title: "",
    modal: true,
    width: 'auto',
    autoOpen: false,
    create: function () {
        $(this).load("/Management/RenderPartialCreateSubject");
    }
};

$("#dialog-message").dialog(dialogOptions);
$("#dialog-message").dialog("open");

我唯一能想到的是在定位对话框之前没有加载内容。有没有办法让它预先加载内容?

我也尝试将局部视图直接加载到div中,然后像这样打开对话框:

$.get("/Management/RenderPartialCreateSubject", null, function (data) {
    $("#dialog-message").html(data);
});
//open add new subject dialog
var dialogOptions = {
    title: "",
    modal: true,
    width: 'auto',
    autoOpen: false
};

$("#dialog-message").dialog(dialogOptions);
$("#dialog-message").dialog("open");

第一次渲染错误,但第二次渲染(内容加载后)。

1 个答案:

答案 0 :(得分:0)

我等着看是否有人有更好的答案,但我能够通过用$ .ajax替换$ .get并设置async: false来解决它,这允许在之前加载内容显示对话框。