Javascript 在屏幕中央设置弹出式div

Javascript 在屏幕中央设置弹出式div,javascript,Javascript,我正在创建一个弹出分区。它的大小是521px,高度是400px 现在,我想将其设置为显示在屏幕或浏览器窗口的中心,而不考虑浏览器窗口的大小 以下是我的JavaScript代码: <script type="text/javascript"> function show_update_profile() { document.getElementById('black_fade').style.display='block'; var dw = doc

我正在创建一个弹出分区。它的大小是521px,高度是400px

现在,我想将其设置为显示在屏幕或浏览器窗口的中心,而不考虑浏览器窗口的大小

以下是我的JavaScript代码:

<script type="text/javascript">
function show_update_profile()
   {
       document.getElementById('black_fade').style.display='block';
       var dw = document.getElementById('div_register').style.width;
       alert(dw);
       document.getElementById('div_register').style.left= ((window.innerWidth)-dw)/2;
   }
</script>

函数show_update_profile()
{
document.getElementById('black_fade').style.display='block';
var dw=document.getElementById('div_register').style.width;
警报(dw);
document.getElementById('div_register').style.left=((window.innerWidth)-dw)/2;
}

行<代码>警报(dw)显示div宽度,但其后的行不起作用。

dw
是以
px
结尾的字符串;您需要首先调用它的
parseInt
,以自己获取号码。但是,使用JavaScript要解决CSS容易解决的问题还有很长的路要走:

#div_register {
    left: 50%;
    top: 50%;
    margin: -200px -260px;
}
应该是:


//remove extra dot
document.getElementById('div_register').style.left= ((window.innerWidth)-dw)/2;

警报(dw)的输出是什么?如果它包含一些度量单位(如“123px”),则在计算中使用它之前,需要将其解析为int:

var dw = parseInt(document.getElementById('div_register').style.width);

getElementById。('div_register')
删除中间的点。它不应该是style.margin-leftstyle.margin-left将从JS中断它将是marginLeft,但这里是stackoverflow的众多解决方案之一-请参阅侧面的相关列表了解解决方案。