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で可能かどうか教えて下さい。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:andi No.1

回答回数448ベストアンサー獲得回数0

ポイント50pt

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


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

for(i in o){

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

}


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

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

id:hulto No.2

回答回数33ベストアンサー獲得回数0

ポイント50pt

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

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

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません