2010-03-24 91 views
1

就像我說的,IE7(和IE6,但我真的不在乎IE6很多)沒有正確定位對話窗口調整大小的對話框。當窗口重新調整大小時,對話框會關閉。 IE8的FF瀏覽器Safari瀏覽器都能正常工作,位置和重新調整大小的對話框很好,但IE7重新調整了對話框的大小,但位置不正確。有人知道一些解決這個問題嗎?IE7沒有正確定位對話窗口調整大小

$("#mydialog").dialog({ 
    autoOpen: false, 
    bgiframe: true, 
    resizable: false, 
    modal: true, 
    title: "", 
    height: 400, 
    overlay: { 
     backgroundColor: '#000', 
     opacity: 0.5 
    } 
}); 
$(window).resize(function(){ 
    $('#mydialog').dialog("option", "height", $(window).height() - 40); 
    $('#mydialog').dialog('option', 'position', 'center'); 
}); 
$("#mydialog").dialog("open"); 
+0

要回答這個問題,一個需要知道的內部jQuery UI。您也可以在官方論壇上提問您的問題:http://forum.jquery.com/using-jquery-ui – 2010-03-24 08:57:16

回答

1

好的這裏是我發現的解決方法,它有點慢,但它的工作原理。

$(window).resize(function(){ 
    $('#mydialog').dialog("option", "height", $(window).height() - 40); 
    $('#mydialog').dialog('option', 'position', 'center'); 
    if ($.browser.msie && parseInt($.browser.version) <= 7) { 
     $('#mydialog').dialog('close'); 
     $('#mydialog').dialog('open'); 
    } 
}); 
1

我最近遇到了這一點,並發現了IE7更快更合適的修復,只是身體的CSS屬性設置爲相對的,佔IE7處理窗口對象的方式。

由於您使用jQuery,下面應該工作:

$('body').css("position", "relative"); 

我還創建了以下說明的問題和解決方案:http://jsfiddle.net/ewsang/7PpcV/