2010-04-30 106 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