好的,所以我正在尝试创建一个水平站点,但是当我尝试获取导航的 offsetWidth 时,它返回的值远高于真实宽度。有问题的设计可以在这里找到。页面的CSS在这里,JS在这里。
非常感谢任何可以解决这个问题的人:)
这是您的页面在应用 CSS 之前的样子:http://img571.imageshack.us/img571/1047/shotjt.png .在那一刻,导航 #projects 宽度是客户端屏幕的宽度。
您有两种解决方案:
- 在样式属性中指定 #projects 导航的宽度
- 为 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';
});