jquery模式对话框定位在可滚动窗口

时间:2013-09-20 13:56:37

标签: jquery jquery-ui

我的页面包含大量数据,我必须向下滚动到底部才能点击按钮,这将触发jquery模式对话框。在按钮上单击我已将windowscroll位置设置为页面顶部并隐藏窗口滚动条。但是我无法将模态对话框定位到窗口的中心位置,而是定位到文档的中心。

我已经给出了如下代码:

$(settings.dialogDivId).dialog({
        open: function () {
            window.scrollTo(0, 0);
            $('body').css({ 'overflow': 'hidden', 'height': '100%' });

        },
        width: 400,
        modal: true,
        position: ['center', 'center'],
        buttons: {
            Ok: function () {
                $(this).dialog("close");
                $('body').css({ 'overflow': 'inherit', 'height': 'auto' });
                postbackCtrl.attr("data-validation-override", true);
                window.scrollTo(0, 0);
                postbackCtrl.click();
            },
            Cancel: function () {
                postbackCtrl.attr("data-validation-override", false);
                $(this).dialog("close");
                window.scrollTo(0, 0);
                $('body').css({ 'overflow': 'inherit', 'height': 'auto' });
            }
        }
    });

1 个答案:

答案 0 :(得分:1)

如果您希望将模态对话框放在与其父级相关的位置,或者将position : relative置于与窗口相关的位置,则将其置于fixed

使用leftmargin-left后播放:

如果您的模态为width: 200px,则必须放置模态left : 50%并放置margin-left:-100px。现在,您的模态对话框水平居中。

http://jsfiddle.net/ArxAG/17/