- ベストアンサー
画像をクリックすると音が鳴り、指定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へ飛ばせるでしょうか? 皆さんのお知恵を拝借させて下さい。
- みんなの回答 (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のかたと変わらないんですが。
その他の回答 (2)
- N_A_O
- ベストアンサー率66% (37/56)
動いたら下記参照。 <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>
お礼
記述をそのままコピーペーストしましたが、音は鳴りません。 画像は入れ替わり、指定URLへ移動しますが、カチャというドアの開く音はしません。 この記述のあるhtmlファイルと音のファイルは同じフォルダ内に存在します。 引き続き、解る方、よろしくお願いします。
- Bonjin
- ベストアンサー率43% (418/971)
簡単に書くと、 -- 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アニメーションの長さに合わせて変えてみるといいと思います。
お礼
ありがとうございました。 遂に完結しました。見事にドアがクリックして1秒たらずの中でドアの音が鳴って、ドアが開き、移動する事ができました。 スクリプト自体詳しくないので、分かりませんが、 微妙な記述の仕方なんだなぁと感心しました。