• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:java script)

Java Scriptでマウスに追従する画像の実装方法

このQ&Aのポイント
  • java scriptでマウスに追従する画像の実装方法を教えてください
  • 実装はできるのですが、縦スクロールに対して追いついてこない問題があります
  • また、1スクロール分したに移動するたびにおいてきぼりになります

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

#2です。 手元のIE6では動作するようです。 IE8がないので確認できませんが、仕様変更されている可能性がありそう。 event.xは変わっていないと思いますので、document.allかdocument.bodyか… まぁ、 document.all["ID"] は document.getElementById("ID") などにしておいたほうが無難かと。 http://yakinikunotare.boo.jp/orebase/index.php?Javascript%2F%A5%DE%A5%A6%A5%B9%B0%CC%C3%D6%A4%F2%C3%CE%A4%EB#b10df9fb (↑)によればIE7では、document.bodyがdocument.documentElementになっているみたい。 一方で、IE7はdocument.bodyでもいけてるみたい。(↓) http://archiva.jp/web/javascript/get_mouse-position.html IE8はわからないけれど、このあたりがあやしいのでは? ところで、どのような環境での利用をお考えか不明ですが、IE限定でよいのでしょうか? 個人ユースのスクリプトなのか、HPならIE限定のページとかなのかな?

ponta2008
質問者

補足

きっと、FF、IEをフォローできればOKだと思います。 元請からの要請なので。しかし、下にもありましたように元々IEでフォローをいう事だったのでFFは無理と私は判断しております。

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

検索すると同じスクリプトがあちこちに見られるので、よほど使いまわされているのだとは思うけれど、少々古い感じは否めません。 どれが元なのかわからないけれど、基本的に気になる点が2箇所。 1)画面のスクロール分を考慮していないので、追随しきれない。 2)元はIE専用のスクリプトとして作成されていたはず。  (なので対応していないブラウザがある。例えばFireFox) 1)に対してはこんな感じでいけるはずですが、ブラウザ限定は変わらない。   (document.allとかevent.xとか) http://javascript.eweb-design.com/0903_mi.html http://www.webstudio.jp/web_studio/tech/files/m018/m018.htm 2)も考慮するなら、こんな感じ http://www.shuraba.com/?p=computing/js/scroll 実装例(スクロール部分しか実装してないけれど。しかもtopのみ) http://jsajax.com/Articles/alwaysmenu/307

ponta2008
質問者

補足

1)http://javascript.eweb-design.com/0903_mi.html を参考に 実装してみましたが、 やはり 置いてきぼりになってしまいます..なにかエラーが起こっているのでしょうか? 以下現在の状況。 参照 <title></title> <SCRIPT language="JavaScript"> function mouseImage() { document.all["ID"].style.left= event.x + 8 + document.body.scrollLeft; document.all["ID"].style.top = event.y + 16 + document.body.scrollTop; } document.onmousemove = mouseImage; </SCRIPT> <link href="style.css" rel="stylesheet" type="text/css" /></head> <body> <!--mouse 画像 start--> <div id="ID" style="position:absolute;"><IMG src="image/common/002.gif" id="myIMG"></div> <!--mouse 画像 start-->

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.1

スクロール分が計算されていませんね。 x = event.x + document.body.scrollLeft; y = event.y + document.body.scrollTop; これで行けるでしょうか。

ponta2008
質問者

補足

できませんでした