2013-11-27 81 views
0

我使用的是IE 11,它無法正確呈現div對話框。所有維度即。高度,寬度,頂部,左側給出不恰當的結果。 IE10也可以正常工作。IE 11沒有在javascript上正確渲染div

JavaScript代碼段如下: -

if (height > 0 && width > 0) 
{ 
    myDialog.height = height; 
    myDialog.width = width; 
    myDialog.top = (parseInt(document.body.clientHeight) - height)/3; 
    myDialog.left = (parseInt(document.body.clientWidth) - width)/2; 
} 

這裏,myDialog是我說的在div對象。爲什麼這段代碼片段不能用於IE11。 任何幫助表示讚賞。

+1

取決於很多你沒有發佈的東西,但最重要的是'div'的'width'和'height'屬性已經過時。 – Teemu

回答

0

嘗試以下

if (height > 0 && width > 0) 

{

myDialog.style.height =高度;
myDialog.style.width = width;
myDialog.style.top =(parseInt(document.body.clientHeight) - height)/ 3;
myDialog.style.left =(parseInt(document.body.clientWidth) - width)/ 2;
}

1

您正在設置HTMLDivElement實例的屬性。您可能會獲得更大的成功在其style屬性設置它們:

if (height > 0 && width > 0) 
{ 
    myDialog.style.height = height + "px"; 
    myDialog.style.width = width + "px"; 
    myDialog.style.top = ((parseInt(document.body.clientHeight) - height)/3) + "px"; 
    myDialog.style.left = ((parseInt(document.body.clientWidth) - width)/2) + "px"; 
} 

注意我還添加px到最後,因爲這些CSS樣式測量。

+0

在兩者之間添加.style並沒有起作用。 – user3041657