http://blog.csdn.net/chinmo/archive/2008/02/18/2102799.aspx先看这个图,对这些东东了解先

解决方案 »

  1.   

    我看了一下,发现三个方法
    document.documentElement.offsetWidth:987 
    document.body.offsetWidth:967 
    document.body.scrollWidth:967比较准确,987的大小就是加上20像素的滚动条大小,真正的可用区域就是967,也就是document.body.offsetWidth
    的大小,其结果比较准确。为了做试验,我使用了一个渐变色的背景图片,其宽度为689px,将其放在一个宽689px的div1中做背景图像,然后在它的并排位置放置一个div2,其背景使用的是背景色,使用上面的document.body.offsetWidth方法正好填充满整个窗口。html代码使用的是xHtml 1.0 的transitional模式。我使用的是IE8浏览器,IE8浏览器拥有一个客户端调试器,按F12键就会出现,调试器中可以强制选择使用的显示模式,
    如果使用Quirks模式显示(这个模式就是IE6模式),显示正常,使用IE7浏览器模式,同样显示正常,但使用IE8的标准模式出现了问题,其宽度代码设置失败。
    其div2的宽度代码我使用的是css中的expression扩展,它在expression后面的括号里面可以调用js代码,我怀疑ie8标准不支持这个扩展,但IE8的兼容模式正常显示。
      

  2.   

    呵呵,这个expression东西少用为好!!
      

  3.   

    我这里也做过一个测试
    看scrollWidth,clientWidth,offsetWidth的部分
      

  4.   

    document.body.offsetWidth
    相对宽度
    document.body.scrollWidth 
    滚动宽度另外要考虑浏览器版本
    可以用<div style="width:2000px;height:1000px;"></div>测试
      

  5.   

    document.documentElement.offsetWidth:   是指根元素,就是html标签  ie  ff都是这样的
    document.body.offsetWidth                body标签
    document.body.scrollWidth                滚动条的那个地方的长度了长度了....ie6下的测试
    document.documentElement.offsetWidth:1024   //ff 2.0  1024
    document.body.offsetWidth:1024              //ff      1008
    document.body.scrollWidth:1004              //ff      1024
    (ie下 怎么跟2楼不一样了 html标签的长度 != body标签的长度)
    ff下  如果没有元素的话
    document.body.offsetHeight  是为0的 当有元素的时候,他的高度是元素高度之和(当然是2个同行的元素只算一个高度) 
     大概就知道这么点了
      

  6.   


    /*ScrollTop*/
    function getScrollTop() {    
        var scrollPos = 0;     
        if (typeof window.pageYOffset != 'undefined') {     
           scrollPos = window.pageYOffset;     
        }     
        else if (typeof window.document.compatMode != 'undefined' &&     
           window.document.compatMode != 'BackCompat') {     
           scrollPos = window.document.documentElement.scrollTop;     
        }     
        else if (typeof window.document.body != 'undefined') {     
           scrollPos = window.document.body.scrollTop;     
        }     
        return scrollPos;    
    }
    /*end ScrollTop*//*ScrollLeft*/
    function getScrollLeft(){
        var scrollPos =0;
        if (typeof window.pageXOffset != 'undefined') {     
           scrollPos = window.pageXOffset;     
        }     
        else if (typeof window.document.compatMode != 'undefined' &&     
           window.document.compatMode != 'BackCompat') {     
           scrollPos = window.document.documentElement.scrollLeft;     
        }     
        else if (typeof window.document.body != 'undefined') {     
           scrollPos = window.document.body.scrollLeft;     
        }     
        return scrollPos;    
    }
    /*end ScrollLeft*/
    这段代码应该有这方面的提示,什么时候选用不同的方法取值
      

  7.   

    http://blog.csdn.net/avon520/archive/2008/07/28/2724094.aspx
      

  8.   

    document.body.offsetWidth 
    相对宽度 
    document.body.scrollWidth 
    滚动宽度 另外要考虑浏览器版本 
    可以用 <div style="width:2000px;height:1000px;"> </div> 测试