2013-05-31 68 views
6

目前,我可以設置width屬性爲auto來取窗口的全部寬度,並且如果窗口大小爲更改(例如重新調整瀏覽器窗口大小或以不同的屏幕大小顯示它)。例如:http://jsfiddle.net/NnsN2/如何讓JQuery UI對話框佔據整個窗口並動態調整窗口大小變化

但是,我不能讓height工作相同。它始終是適合內容的最小高度,儘管我已將它設置爲auto

首先獲得窗口高度($(window).height())並使用height的常用方法在此處不起作用,因爲它將是靜態的並且不會動態地適應窗口大小的更改。

我該如何讓高度始終保持窗戶的整個高度,並且能夠適應窗戶大小的變化?

+0

所以你想讓對話框覆蓋整個窗口? – Alnitak

+0

@Alnitak,是的,覆蓋整個窗口,並在窗口大小改變時自動調整大小。 – skyork

+2

在我看來,然後,一個jQuery UI對話框可能不是正確的控制工作... – Alnitak

回答

13

您可以嘗試獲取該元素在運行時,然後#id.class根據窗口的寬度和高度,使寬度/高度:

$(window).resize(function() { 
    $('.ui-dialog').css({ 
     'width': $(window).width(), 
     'height': $(window).height(), 
     'left': '0px', 
     'top':'0px' 
    }); 
}).resize(); //<---- resizes on page ready 

checkout in fiddle

+0

這個工程。如果頁面大於屏幕,則可以使用$(document).height'獲取內容的全高 – messerbill

1

這是我如何能爲jQuery UI版本1.8.17「解決」這個問題:

之後對話已經打開,假設你已經捕獲了它的id,使用fol降脂:

$("#DlgID").parent().css('height', $(window).height()); 

的實際高度是由您<div>含對話內容父,因此參考決定。您也可以使用此方法來控制父級的其他屬性。

快樂編碼!