WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:親からIframe内の相対マウス座標を取得する方法

0:[投稿] 宮崎 [2003/04/08 11:22 ][環境:IE5.5以上 IIS5.0]

Iframeを持つページにて。
Iframeページ上にマウスカーソルが存在する状態で、
Iframe呼出元ページ左上からの(マウスカーソルの)相対座標を
取得する方法はあるのでしょうか?
※ブラウザ全体の絶対座標でもかまわないのですが・・・。


1:[回答] dailang [2003/04/18 07:32 ]

JavaScriptを使ってよいのでしたら、例えばこんなの如何でしょう。
もし、iframeに表示するページが一つでなければ、JavaScriptを外部ファイルにしても良いと思います。

***** ここから"s-parent.html" *****
<html lang="ja">
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
   <meta http-equiv="content-style-type" content="text/css" />
 </head>
 <body>
   <iframe name="ifrm" src="s-child.html" style="position:absolute; left:200px; top:100px; width:300px; height:200px;">
   </iframe>
   <input name="gg" />
 </body>
</html>
***** ここまで"s-parent.html" *****

***** ここから"s-child.html" *****
<html lang="ja">
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
   <meta http-equiv="content-style-type" content="text/css" />
   <meta http-equiv="content-script-type" content="text/javascript" />
   <script type="text/javascript">
     function fGetRelPnt() {
       if (!(ifrm = parent.document.all["ifrm"])) { return }
       ifrmL = ifrm.style.left.match(/[0-9]+/) - 0;
       ifrmT = ifrm.style.top.match(/[0-9]+/)  - 0;
       parent.document.all["gg"].value = (event.x + ifrmL) + ', ' + (event.y + ifrmT);
    }
   </script>
 </head>
 <body onmousemove="fGetRelPnt()" style="margin:0;">
   <img src="something" width="400" height="400" />
 </body>
</html>
***** ここまで"s-child.html" *****

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World