我会与以下
进行对话$("#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,这并没有阻止它从底部延伸。
答案 0 :(得分:1)
你有代码将对话框放在我假设的屏幕中间吗?在重新填充新信息后运行它。
编写一些新代码,确保框不高于窗口。如果是,请将对话框的高度设置为窗口的高度(如果要填充,则设置为较小),并将overflow
设置为scroll
。每当他们调整窗口大小时也运行此代码。
答案 1 :(得分:1)
好吧,我已经有了它的工作,有点不是100%,但非常接近。
我将位置设置为“顶部”,因为auto
总是向下展开。然后我根据建议添加了一个开放式功能in a ticket作为解决方法,让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');
}
}
});