1

我将与以下内容进行对话

$("#statusbox").dialog({
    autoOpen: false,
    bgiframe: true,
    modal: true,
    width: 'auto',
    height:'auto',
    title:"Check Order Status",
    buttons: {
        Find: function() {
            get_status();
        },
        Close: function() {
            $(this).dialog('close');
        }
    }
});

当用户点击查找按钮时,它会运行 Ajax 并将命令返回给对话框,并且它会动态调整大小,但它只会向下扩展框。有没有办法让框向上和向下延伸以使对话框保持居中?

此外,如果有足够的内容,那么它可能会超出页面的范围,所以我认为我可以使用最大高度来防止这种情况发生,但是如果他们重新调整窗口大小我该怎么办?

我尝试添加 maxHeight: 500,但这并没有阻止它从底部延伸。

4

2 回答 2

1

你有把对话框放在屏幕中间的代码吗?在重新填充新信息后运行它。

编写一些新代码,确保框不高于窗口。如果是,则将对话框的高度设置为窗口的高度(如果需要填充,则设置为更低),然后设置overflowscroll. 每当他们调整窗口大小时运行此代码。

于 2010-04-30T14:54:24.233 回答
1

好的,我已经让它工作了,不是 100%,但非常接近。

我将位置设置为“顶部”,因为auto总是向下扩展。然后,我按照票证中的建议添加了一个开放功能,作为获得autoHeight尊重的解决方法maxHeight

也就是说,我真的想使用身高,而不是文档,我不知道为什么我必须从中减去 200?

$("#statusbox").dialog({
    autoOpen: false,
    bgiframe: true,
    modal: true,
    width: 'auto',
    height:'auto',
    position: 'top',
    title:"Check Order Status",
    open: function(event, ui) {
        $(this).css({'max-height': $(document).height()-200, 'overflow-y': 'auto'});
    },
    buttons: {
        Find: function() {
            get_status();
        },
        Close: function() {
            $(this).dialog('close');
        }
    }
});
于 2010-05-01T11:48:00.817 回答