style.width不适用于innerWidth

时间:2014-03-29 04:32:14

标签: javascript html

我正在尝试使用window.innerWidth属性动态插入div,其宽度等于页面宽度。

它似乎无法正常工作,宽度设置为' 0'自动。

提前致谢。

HTML

<body onload="lb()"></body>

JS

function lb()
{
var h=window.innerHeight
||document.body.clientHeight
||document.documentElement.clientHeight;

var w=window.innerWidth
||document.body.clientWidth
||document.documentElement.clientWidth;

                    alert("Width: "+w+"\n"+"Height: "+h);

        var x=document.createElement("div");
        x.id="heder";
        x.style.width=w;
        x.style.height='150px';
        x.style.backgroundColor='#000000';
        x.style.position='absolute';
        x.style.margin='0px';
        x.style.padding='0px';

              document.body.appendChild(x);
}

示例小提琴:http://jsfiddle.net/xyyUy/1

2 个答案:

答案 0 :(得分:4)

您忘了添加&#34; px &#34;宽度值

应该是

    x.style.width=w+"px";

而不是

    x.style.width=w;

答案 1 :(得分:0)

正如@Suman Bogati所说,你需要添加&#39; px&#39;。你的小提琴也在执行lb()函数时抛出一个错误。我在这个小提琴中调整它来工作。我只是简单地打电话给

lb();

http://jsfiddle.net/xyyUy/2/