• ベストアンサー

ホームページビルダーでつくったonmousemoveのスクリプトがFirefoxで作動しません

はじめまして。 ホームページビルダーV6.5でホームページを作成している初心者です。 よくある、「ボタンに触れると大きな画像が入れ替わり、ボタンもへこむ。ボタンから離れるとボタンだけもとに戻る」 というイベントを作成したのですが、IEではうまく動いても、Firefoxでは作動しません。 インターネットでいろいろと調べ、皆さんの回答に従ってソースをいじくってみたのですが(NameでなくIDを使う、<span>タグを使って書き直すなど)、解決できませんでした。 すみませんが、どなたかご教示いただけませんでしょうか。 どうぞよろしくお願いいたします。 下に、ホームページビルダーでイベント設定した場合に出る、(私がいじる前の)ソースを貼っておきます。 ファイル名はわかりやすいよう日本語で示していますが、実際には半角英数字でつけています。 <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_CODE_40 function _HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=(document.layers && (appVer >= 4)); var isIE=(document.all && (appVer >= 4)); if (isNC || isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = _HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } function _HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = _HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } //--> </SCRIPT> //中略 <TBODY> <TR> <TD align="left" width="665"> <TABLE bgcolor="#ffffff" width="673" cellspacing="0"> <TBODY> <TR> <TD valign="top"><IMG src="もとの画像.jpg" width="450" height="405" border="0" name="gazou"></TD> <TD valign="top" align="right"><IMG src="もとのボタン.jpg" width="275" height="37" border="0" name="button" onmouseover="_HpbImgSwap('button', 'へこんだボタン.jpg'); _HpbImgSwap('gazou', 'かわった画像.jpg');" onmouseout="_HpbImgSwap('button', 'もとのボタン.jpg');"></TD> </TR> //後略

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

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

手元にFirefoxがないので、動作確認してませんが、 タグにidを指定にしておいて、以下でいけると思いますが・・・ (レイヤー内にimgがある場合については省略してます) function _HpbImgSwap(imgId, imgSrc){ document.getElementById(imgId).src=imgSrc; }

ykitape24
質問者

お礼

fujillin様、素早いご回答をありがとうございます。 試してみたところ、見事に解決できました! スクリプトの定義の仕方で違うんですね。このあたり、もっと勉強してホームページをつくってゆきたいと思います。 本当に助かりました。どうもありがとうございました。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

onMouseなんたら の呼び出し、名前で渡すんじゃなく「this」で渡して受け側は「doc.src=~」でできるんじゃない?

ykitape24
質問者

お礼

SAYKA様、早速のご回答ありがとうございました。 試してみましたが、うまくできませんでした。 私の理解不足です。javascriptの根本をわかっていないので、今後勉強いたします。 ありがとうございました。

関連するQ&A

専門家に質問してみよう