1


1

IE7はウィンドウのサイズ変更時にダイアログを適切に配置していません

前述したように、IE7(およびIE6ですが、IE6はそれほど気にしません)は、ウィンドウのサイズ変更時にダイアログを適切に配置しません。 ウィンドウのサイズが変更されると、ダイアログがどんどん小さくなります。 IE8 FF Chrome Safariはすべて正常に動作し、ダイアログの位置とサイズを変更しますが、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");

2 Answer


1


OKここで私が見つけた回避策は、それは少し遅いですが、動作します。

$(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のより高速で適切な修正を発見しました。IE7がウィンドウオブジェクトを処理する方法を考慮して、本体のcssプロパティを相対に設定するだけです。

jQueryを使用しているため、以下が機能するはずです。

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

また、問題と解決策を説明するために以下を作成しました:http://jsfiddle.net/ewsang/7PpcV/