けっこう前に2pxずれる現象への対策を書くって言ったまま放置してた件の回答。ちなみに以前書いたエントリーはこれ。getClientRects()とgetBoundingClientRect()の違いとその動作のまとめ - DenkiYagi 結論/対策 getBoundingClientRect() で取得できる値の座標から以下の値を減算する。 document.body.scrollLeft || document.documentElement.scrollLeft; document.body.scrollTop || document.documentElement.scrollTop; ※解説はしないけど、値を取得する順番を逆にすると正しい値が取得できない事があるので注意。 IE6でもIE7でもこの方法でOK。 実装サンプル function getRect(elem) { va