offsetWidth返回不正确的值

时间:2012-08-13 00:56:40

标签: javascript html css offsetwidth

好吧所以我试图建立一个水平站点,但是当我尝试获取导航的offsetWidth时,它会返回一个远高于真实宽度的值。可以找到有问题的设计here。该页面的CSS为here,JS为here

非常感谢任何可以解决这个问题的人:)

3 个答案:

答案 0 :(得分:3)

这就是在应用CSS之前页面的样子: http://img571.imageshack.us/img571/1047/shotjt.png。在那一刻#projects nav的宽度是客户端屏幕的宽度。

您有两种解决方案:

  1. 在样式属性
  2. 中指定#projects nav的宽度
  3. 为init JS函数添加一些超时:domready(function(){setTimeout(“initPageFunction()”,200);}
  4. 令人惊讶的是,它在IE中运行良好:)

答案 1 :(得分:1)

另一个解决方案是将体边距设置为0,通常在没有设置宽度且体边距不变的情况下,渲染可能会偏离16个像素,这对于身体的每一侧(左侧和右侧)占8个像素标签

罗德里戈。

答案 2 :(得分:0)

这是因为边距创建的空间是计算的,并且上一篇文章有​​一个合适的边距。这是固定的脚本。

domready(function() {

    var projectsContainer = qwery('#projects')[0];
    var projects = qwery('.project');
    var projectsNav = qwery('#projects nav')[0];

    var pMargin = 40;
    var pnW = projectsNav.offsetWidth+cMargin;

    for(p in projects) {
        projects[p].style.marginRight = pMargin+'px';
    }

    projectsContainer.style.width = (projects.length*(projects[0].offsetWidth+pMargin))+pnW+'px';

});