偏移宽度返回不正确的值

offsetWidth is returning incorrect value

本文关键字:不正确 返回      更新时间:2023-09-26

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

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

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

您有两种解决方案:

  1. 在样式属性中指定 #projects 导航的宽度
  2. 为 init JS 函数添加一些超时: domready(function() { setTimeout("initPageFunction()", 200); }

令人惊讶的是,它在IE:)中效果很好

另一种解决方案是将正文边距设置为 0,通常当未设置宽度且正文边距未触及时,渲染可能会偏离 16 个像素,占正文标记每侧(左右)的 8 个像素。

罗德里。

这是因为计算

了边距创建的空间,并且最后一篇文章有一个右边距。这是固定脚本。

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';
});