マウスに合わせて画像を移動させる(スクロールしても大丈夫版)【IE】


動作ブラウザ 【 IE:4.0  NN:-
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 6.0 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × × × × - × -
Macintosh × - - × × × × × - - ×
UNIX - - - - - - × × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント document.all["myImg"].style.left= event.x + 8 + document.body.scrollLeft; document.all["myImg"].style.top = event.y + 16 + document.body.scrollTop;
説  明 画像をマウスに追従させるにはマウスの座標を逐次検出し文字の表示位置を再設定します。マウスの座標を逐次監視するためにonmousemoveイベントハンドラに処理関数名を指定します。イベント発生後に呼び出される関数側ではマウス座標を読み出しますがIEの場合はevent.x、event.yとなります。文字の表示位置は「document.all["オブジェクト名"].style.left」「document.all["オブジェクト名"].style.top」で設定することができます。 文書範囲が広くてスクロールするような場合はマウス座標に加えて現在のスクロール位置を加算する必要があります。横方向のスクロール位置は「document.body.scrollLeft」、縦方向のスクロール位置は「document.body.scrollTop」に格納されているので、これをマウス座標に加算します。
サンプル <html> <head> <title>マウスに合わせて画像を移動させる(スクロールしても大丈夫版)【IE】</title> <script language="JavaScript"><!-- function moveImage(evt) { document.all["myImg"].style.left= event.x + 8 + document.body.scrollLeft; document.all["myImg"].style.top = event.y + 16 + document.body.scrollTop; } document.onmousemove = moveImage; // --></script> </head> <body> <div id="myImg" style="position:absolute;top:0px;left:0px;"> <img src="q.gif"> </div> <table border="1" width="800" height="800" bgcolor="#F8F8FF"> <tr><th>Sample</th></tr> </table> </body> </html>
補足説明 IEではDIVタグでなくIMGタグのみでも動作させることができます。

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA