さて、私は水平サイトを作成しようとしていますが、ナビゲーションのoffsetWidthを取得しようとすると、実際の幅よりもはるかに高い値が返されます。問題のデザインはここにあります。このページのCSSはここにあり、JSはここにあります。
これを解決できる人に感謝します:)
これは、CSS が適用される直前のページの外観です: http://img571.imageshack.us/img571/1047/shotjt.png。その瞬間、#projects nav の幅はクライアント画面の幅になります。
次の 2 つの解決策があります。
驚いたことに、それはIEでうまく機能します:)
もう 1 つの解決策は、ボディ マージンを 0 に設定することです。通常、幅が設定されておらず、ボディ マージンが変更されていない場合、ボディ タグの各辺 (左右) に 8 ピクセルを占める 16 ピクセル分レンダリングがずれている可能性があります。
ロドリゴ。
マージンによって作成されるスペースが計算され、最後の記事の右マージンがあるためです。これが固定スクリプトです。
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';
});