連続の質問になりますが、よろしくお願いします。
以下のようなことは、Javascriptでどのように表現したらよいのでしょうか。
1)sound01.mp3~sound03.mp3の中からランダムに音声を鳴らす。
2)01から03の選択肢があって、それをクリックした時、対応するナンバーの
場合、正解を示すアラートダイアログを表示させ、間違っている場合は
不正解を示すアラートダイアログを表示させる。
1)までに関しては数々の本やWebサイトを参考にすればできますが、2)に
つなげることができません。おわかりの方、お教え下さい。
No.1ベストアンサー
- 回答日時:
JavaScriptは自信がないんですが、こんな感じでいかがでしょうか?
選択のインターフェイスはボタンにしましたが、勿論ラジオボタン等でも可能です。
Arrayの中身を増やせば自動的にボタンも増えます。
ただbgsoundはIE限定みたいなので、他のブラウザにも対応させるならEMBEDタグを使った方がいいでしょう。
もっともその場合も、ユーザーのブラウザにプラグインが組み込まれている必要がありますが。
-------------------------
<html>
<head>
<script language="javascript">
<!--
var sound = new Array("sound01.mp3","sound02.mp3","sound03.mp3");
var r = Math.floor(Math.random() * sound.length);
document.write('<bgsound src="'+sound[r]+'">');
function ansCheck(n){
if(sound[r] == sound[n]){alert('正解です');}
else{alert('不正解です');}
}
//-->
</script>
</head>
<body>
<script language="javascript">
<!--
for(i = 0; i < sound.length; i++){
document.write('<input type="button" onClick="javascript:ansCheck('+i+')" value="'+sound[i]+'"><br>');
}
//-->
</script>
</body>
</html>
この回答への補足
もう少しお教えください。
いろいろいじって自分なりに改造した結果、ページを読み込む度に音が
出る設定を、ボタンクリックによって音声を鳴らす形に変えました。
しかし、ページを読み込み直さないと乱数のrが変化せず、そのままでは
何度押しても同じ音しか出ません。音声が出るボタンを押して選択肢を選んだ
後、シャッフルし直すボタンかリンクを作りたいのですが、どう記述すれば
よいでしょうか。
回答ありがとうございます。
試してみたところ、確かに音がランダムに出て、ボタンを選べば正解・不正解がアラートで出てきますね。
利用者が限定されているページを想定しているので、bgsound利用は特に問題ありませんが、embedの利用も検討してみます。ありがとうございました。
No.3
- 回答日時:
リロード以外の方法もあるかもしれませんが、ちょっとすぐには思いつきませんでした。
画面全体がリセットされるのを防ぐなら、音が出るページをIFRAME内で表示すればいけるかもしれませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptで変数を組み込みたい
-
selectタグで日付を生成
-
<a href="#" …>の意味を教えて...
-
スマホ上で、左右スワイプで次...
-
ポップアップウィンドウの位置
-
フレームサイズの変更について
-
ウインドウを縮小しても文字を...
-
Dreamweaver で 外部JSを読み込...
-
SQLのWHEREで全てを質問する方法
-
window.openで404エラーがでます
-
JavaScriptの外部ファイル化とS...
-
showModalDialogで開いた画面か...
-
JAVAでリンクボタンを作成して...
-
cssにjavascriptを入れる?呼び...
-
JavaScript内の関数を別のファ...
-
javascriptとApacheの設定
-
セレクトメニューでリンクの際...
-
親窓が切り替わった時に小窓を消す
-
macでjavascriptを記述するには...
-
datepickerで日付の値を取得したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
¥マークの検索について
-
document.getElementById
-
イベントハンドラを使わずに実...
-
location.hrefが動かない・・・
-
カウントダウンとカウントアッ...
-
CGIフォーム一定時間過ぎる...
-
動的生成したscriptタグが実行...
-
history.back スクリプトオフ...
-
JavaScriptで、参照する階層を...
-
javascriptの中にjavascript
-
スクロールせずに見えるコンテ...
-
外部リンクについて質問です。
-
"<scr"+"iptこれって何?
-
ページ内文字列の置換について
-
javascriptで変数を組み込みたい
-
JavaScriptの勉強を始めました。
-
【Javascript】Cookie有効期限
-
ネスケの時リロード
-
外部jsからdocument.writeする...
-
HPビルダーで『最終更新日時』...
おすすめ情報