2014-12-05 67 views
0

我創建了一個jquery對話框,當它不處於兼容模式時,它可以在IE中正常工作。但是,我的公司需要IE的兼容模式用於一些遺留代碼。以下是我到目前爲止。關於如何改變它以便在使用iE兼容性時顯示在中心的任何想法?如何在IE兼容模式下居中jQuery對話框?

var originalColor; 

function Form2958MessageBox(isValid) { 
    var target = $(this); 
    if (isValid) { 
     $("#Form2958DataGridSuccess").dialog({ 
      position: { my: "center", at: "center"}, 
      title: "Successful Submission!", 
      modal: true, 
      buttons: { 
       "Close": function() { 
        $(this).dialog("destroy"); 
       } 
      } 
     }); 
    } 
    else { 
     $("#Form2958DataGridFailure").dialog({ 
      position: { my: "center", at: "center", of: target}, 
      title: "Submission Errors Found", 
      modal: true, 
      buttons: { 
       "Close": function() { 
        $(".ui-dialog-title").css("color", originalColor); 
        $(this).dialog("destroy"); 
       } 
      }, 
      create: function (e, u) { 
       originalColor = $(".ui-dialog-title").css("color"); 
       $(".ui-dialog-title").css("color", "red"); 
      } 
     }); 
    } 
} 

回答

0

IE兼容模式(IE7仿真)模擬IE7和更低,並且不能識別CSS邊界屬性的自動規則。

您可以向div添加align屬性以允許它正常回退。

< DIV ALIGN = 「中心」 的風格= 「保證金:0汽車;文本對齊:左;垂直對齊:頂部」 >

您可能需要同時指定文本對齊規則(如上) ;

您的頁面可能無法驗證validator.w3.org,但您可以放心地忽略警告/錯誤。

您可以在X-UA IE =邊緣元添加到您的網頁,以強迫任何IE7瀏覽器或任何用戶誰仍然可使用IE8和「顯示在兼容性視圖中的所有站點,以強制IE8 +渲染和css 2.1合規。如果您的站點是Intranet站點並且您已強制「在兼容性視圖中顯示Intranet站點」,請使用x-ua元。

IE7仿真也不支持靜態定位.....你的div覆蓋應該是絕對或相對的;在IE7仿真中靜態定位的解決方法是在.static類上使用MSIE計算規則。

問候。