連続の質問になりますが、よろしくお願いします。
以下のようなことは、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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで早押しゲームを作りたい 4 2022/05/12 13:46
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- 英語 英語の冠詞の使い方について 5 2022/12/05 08:17
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/10/25 09:26
- WordPress(ワードプレス) Wordpress テーマを編集 の編集する枠が表示されない 2 2022/11/19 11:07
- その他(ソフトウェア) 「chat GPT」の回答について 1 2023/03/21 14:19
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- 防犯カメラ・監視カメラ・小型カメラ VHSを高画質な動画ファイルにしたいです。 3 2022/05/06 12:08
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/10/25 10:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
location.hrefが動かない・・・
-
¥マークの検索について
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
フォーカス移動抑止について
-
iframeの中から親ページをスム...
-
SQLのWHEREで全てを質問する方法
-
テーブル内の数値を自動で計算...
-
JavaScript でキーを送る
-
javascriptとApacheの設定
-
テキストをクリックすると答え...
-
javascriptでalertの文字列をコ...
-
cssにjavascriptを入れる?呼び...
-
getElementsByNameで要素が取得...
-
Jquery.PHPファイルのechoが表...
-
キーを押している間の時間を計...
-
onbeforeunload時のwindow.open...
-
別ファイルのfunctionの読み込み方
-
javascriptのalertで文字化けが...
-
複数のJavascriptを1つのscrip...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1から100までの平方根を表示す...
-
javascriptで変数を組み込みたい
-
document.getElementById
-
ランダム音声と正解・不正解の表示
-
JavaScriptの入れ子
-
IEでiframe内のcookieを保持
-
動的生成したscriptタグが実行...
-
¥マークの検索について
-
history.back スクリプトオフ...
-
外部jsからdocument.writeする...
-
javascriptでの大文字小文字の区別
-
CGIフォーム一定時間過ぎる...
-
明日の日にちを表示するときは
-
ブラウザのアドレス欄に
-
HPビルダーで『最終更新日時』...
-
ブログ上で複数のjavaスクリプ...
-
書いたクッキーを読み出してメ...
-
ホームページ内に直接書込がしたい
-
JSによるリンク先の値の取得
-
カウントダウンとカウントアッ...
おすすめ情報