position追記
positionにfixedを指定すると、topプロパティの基準は、画面上部になる。
スクロール量に関わらず、現在の画面上部が0。
スクロールバーが出ない程度のページでしか確認していなかったから、気づくのが遅れたorz
やはり、absoluteで、かつFlashと被っても前面に来るようなスタイルを探すか。
あと、
display : none
だと、offsetの値0になっちゃうのね。
<html> <body> <style type="text/css"> div { position: absolute; width: 300px; height: 300px; display: none; } </style> <div>hoge</div> </body> </html>
上記htmlに対して次のjavascriptを実行すると
var div = document.getElementsByTagName("div")[0]; alert(div.offsetWidth); // 0