基于window.innerWidth在中间设置pop窗口

时间:2012-04-09 07:41:59

标签: javascript popup

我想创建一个弹出窗口,我想让它始终位于中间位置,无论浏览器或屏幕尺寸如何。

所以为此,我使用的是window.innerWidth,但我不知道为什么这段代码无效。

function show_update_profile()
   {
       document.getElementById('black_fade').style.display='block';
       alert(window.innerWidth);
       document.getElementById('div_register').style.display='block';
       document.getElementById.('div_register').style.left= ((window.innerWidth)-500)/20;
       alert(window.innerWidth);
   }

document.getElementById.('div_register').style.left= ((window.innerWidth)-500)/20;行遇到了问题。

1 个答案:

答案 0 :(得分:0)

window.innerWidth不兼容浏览器,因此不适用于所有浏览器,因此您需要这样的功能

function getBrowserInnerSize(w)
{
    var x,y;
    if (!w){
        w = window;
    }

    if (w.innerHeight){ 
        // FireFox
        x = w.innerWidth;
        y = w.innerHeight;
    } else if (w.document.documentElement && w.document.documentElement.clientHeight) {
        // IE Strict mode
        x = w.document.documentElement.clientWidth;
        y = w.document.documentElement.clientHeight;
    } else if (w.document.body) {
        // IE Normal mode
        x = w.document.body.clientWidth;
        y = w.document.body.clientHeight;
    }

    return {"x":x,"y":y};
}