人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Javascriptの質問です。

ブラウザで実際に表示されたHTMLで、特定の要素の【画面表示上の絶対位置】を取得したいのです。それらの要素はCSSなどで絶対位置指定されてはいません。例えば下記のようなHTML、

<html>
<body>
<table>
<tr>
<th>test</th>
</tr>
<tr>
<td>
<img id=”target” src=”***”>
</td>
</tr>
</table>
</body>
</html>

この時の ID=”target” の絶対位置(top/left)を取得したいのです。clientTop/Leftなどを試してみたのですが0が返ってきました。IE6.xx/Firefoxで可能かどうか教えて下さい。

●質問者: polaronblast
●カテゴリ:ウェブ制作
✍キーワード:CSS firefox HTML IE6 JavaScript
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● andi
●50ポイント

http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/re...

MSDN Online Japan : File Not Found

オブジェクトの持つプロパティは下記のようなスクリプトで全て確認できます。


var o = document.getElementById(”target”);

for(i in o){

document.write(i + ”=” + o[i] + ”<br>”);

}


このスクリプトでそれらしいプロパティは見当たりませんでしたが、offsetLeft、offsetTopが親要素からの相対位置を示してくれるようです。

そこで、これを利用してbody要素まで上って確認すれば絶対位置を取得可能だと思います。

http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/re...

MSDN Online Japan : File Not Found


2 ● hulto
●50ポイント

http://www.tohoho-web.com/mama/mama.htm

とほほママの部屋

参考URLで実装されているjavascriptが参考になるのではないでしょうか。

このソースコードではIEとNN系で別の対応をしていますね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ