width是字符串
offsetWidth是数字
如width="300px";
 offsetWidth =300

解决方案 »

  1.   

    offsetWidth 包含了对象的边线的宽度
    width 若你不在HTML里明确指定这个值,那它的返回值会不对。//在javascript中得到当前窗口的高和宽
    <body><SCRIPT LANGUAGE="JavaScript">
    var  s = "";
    s += "\r\n网页可见区域宽:"+ document.body.clientWidth;
    s += "\r\n网页可见区域高:"+ document.body.clientHeight;
    s += "\r\n网页可见区域宽:"+ document.body.offsetWidth  +" (包括边线和滚动条的宽)";
    s += "\r\n网页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)";
    s += "\r\n网页正文全文宽:"+ document.body.scrollWidth;
    s += "\r\n网页正文全文高:"+ document.body.scrollHeight;
    s += "\r\n网页被卷去的高:"+ document.body.scrollTop;
    s += "\r\n网页被卷去的左:"+ document.body.scrollLeft;
    s += "\r\n网页正文部分上:"+ window.screenTop;
    s += "\r\n网页正文部分左:"+ window.screenLeft;
    s += "\r\n屏幕分辨率的高:"+ window.screen.height;
    s += "\r\n屏幕分辨率的宽:"+ window.screen.width;
    s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight;
    s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth;
    s += "\r\n你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色";
    s += "\r\n你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸";
    alert(s);
    </SCRIPT>
      

  2.   

    当没指定width的时候,你看看是不是还一样?
      

  3.   

    http://msdn.microsoft.com/workshop/author/om/measuring.asp?frame=true=====碌碌123=====
      

  4.   

    <HTML>
    <HEAD><TITLE>THIS IS A TEST</TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    function Clock_Tick(){
      var doc_width = document.body.offsetWidth;
      alert(doc_width);
      var div_width = document.getElementById('MyDiv').offsetWidth;
      alert(div_width);
      alert(document.body.width);//body的width未定义
      alert(document.getElementById('MyDiv').width);//div的width定义
    }
    </SCRIPT>
    <BODY onload="Clock_Tick()">
    <DIV ID="MyDiv" width='150px'>&nbsp;</DIV>
    </BODY>
    </HTML>