2010-04-30 84 views
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,并没有阻止它从底部延伸。

回答

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'); 
     } 
    } 
}); 
1

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

写一些新的代码,确保箱子不比窗口高。如果是,则将对话框的高度设置为窗口的高度(如果要填充,则设置为较小),并将overflow设置为scroll。每当调整窗口大小时运行此代码。

+0

no默认情况下,它显示在屏幕中间,我不调整对话框自己它自动执行宽度和高度设置为自动 – mcgrailm 2010-04-30 14:59:32