• ベストアンサー

画像をクリックすると音が鳴り、指定URLへ飛ぶには

出来そうでなかなか完成出来ずに困っています。解る方、どうかご教授下さい。 まずHEAD内に次のような記述をして、ページを開いた時に鳴る音を無音として読み込ませます。 <script language="JavaScript"><!-- function soundPlay(sndName) { mySND.src = sndName; } // --></script> <bgsound src="silent.aif" id="mySND"><br> </HEAD> --------------------------- そして<BODY>の中の任意の場所に閉じたドアの画像があり、 そのドアをクリックすると、door2と言うドアが開いた画像に切り替わり、 同時にドアの開く音がします。 そして別のアドレス・・・ここではAD/upinfo.htmlに飛びます。 以下の(1)番の記述ですと、ドアが開いて、指定先に飛びますが、音が出ません。 そこで(2)の記述に変えると、ドアが開くと音はしますが、指定先URLの記述の仕方が分かりません。 (1)<a href="AD/upinfo.html" id="javaScript:soundPlay('kin.aif')"><IMG src="door1.gif" border="0" onclick="this.src='door2.gif'" onMouseOut="this.src='door1.gif'" alt="展示室"></a> (2)<a href="javaScript:soundPlay('kin.aif')"><IMG src="door1.gif" border="0" onclick="this.src='door2.gif'" onMouseOut="this.src='door1.gif'" alt="展示室"></a> どうすればクリックした時音が鳴り、画像が切り替わり、指定先URLへ飛ばせるでしょうか? 皆さんのお知恵を拝借させて下さい。

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

  • ベストアンサー
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.3

<script> <!-- function soundPlay(sndName){ mySND.src = sndName; setTimeout("jump()", 500); } function jump(){ location.href="AD/upinfo.html"; } // --> </script> <bgsound src="silent.aif" id="mySND"> <a href="javaScript:soundPlay('kin.aif')"><IMG src="door1.gif" border="0" onclick="this.src='door2.gif'" onMouseOut="this.src='door1.gif'" alt="展示室"></a> でどうですかね? まあやってる事は基本的に、#1のかた、#2のかたと変わらないんですが。

azumi4799
質問者

お礼

ありがとうございました。 遂に完結しました。見事にドアがクリックして1秒たらずの中でドアの音が鳴って、ドアが開き、移動する事ができました。 スクリプト自体詳しくないので、分かりませんが、 微妙な記述の仕方なんだなぁと感心しました。

その他の回答 (2)

  • N_A_O
  • ベストアンサー率66% (37/56)
回答No.2

動いたら下記参照。 <script language="JavaScript"> <!-- var m1file = "./kin.aif ";//サウンドファイル function Music(el,num) { var ebd = '<EMBED src="'+m1file+'" width="0" height="0" autostart="true" loop="false" repeat="false">'; if(document.all) { document.all.msc.innerHTML = ebd; } else if (document.getElementById) { document.getElementById("msc").innerHTML = ebd; } else { return true; } if (!num) { setTimeout('jump("'+el.href+'")',1000);//ジャンプするまでの秒数 } return false; } function jump(url){ location.href = url; } //--> </script> <DIV id="msc"></DIV> <A href="AD/upinfo.html " onClick="return Music(this);"><IMG src="door1.gif" border="0" onclick="this.src='door2.gif'" alt="展示室"></a>

azumi4799
質問者

お礼

記述をそのままコピーペーストしましたが、音は鳴りません。 画像は入れ替わり、指定URLへ移動しますが、カチャというドアの開く音はしません。 この記述のあるhtmlファイルと音のファイルは同じフォルダ内に存在します。 引き続き、解る方、よろしくお願いします。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

簡単に書くと、 -- JavaScript -- function playSndAndChImg(){ mysound.src="kin.aif"; myimage.src="door2.gif"; setTimeout("jump()", 500); } function jump(){ location.href="AD/upinfo.html"; } -- HTML <bgsound id="mysound"> <a href="javascript:playSndAndChImg();"><img src="door1.gif" id="myimage"></a> って感じですかねぇ・・・(IE6.0では動作) イメージ変えてすぐにページを変えてしまうと音も鳴らずにすぐにページが移動してしまうのでタイマー処理で少し間隔をあけています。 音の長さやgifアニメーションの長さに合わせて変えてみるといいと思います。