2013-11-27 53 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