連続の質問になりますが、よろしくお願いします。
以下のようなことは、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.2
- 回答日時:
>シャッフルし直す
これをリロードで実装して良いなら、以下のボタンを設置すればOKです。
<input type="button" value="シャッフル" onClick="location.reload()">
お探しの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ランキング
-
CGIフォーム一定時間過ぎる...
-
こんにちは、23歳、事務系のOL...
-
HPビルダーで『最終更新日時』...
-
読み込むたびに画像を順番に表...
-
ページ内文字列の置換について
-
特定のURLからの訪問者を入室禁...
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
JavaScriptからVBScriptの呼び...
-
<script>...</script> 要素の内
-
GIFアニメの動きが止まってしま...
-
相対パスと絶対パスの速度
-
SCRIPT5007: 未定義または NULL...
-
bodyにidをつける理由は何ですか?
-
javascript外部読み込みの際の引数
-
cssにjavascriptを入れる?呼び...
-
ホームページ上に『位置固定』...
-
pythonのWebスクレイピングでfi...
-
html メールリンクにて自動ファ...
-
Safariで<iframe>のinnerHTMLを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
¥マークの検索について
-
CGIフォーム一定時間過ぎる...
-
document.getElementById
-
javascriptで変数を組み込みたい
-
location.hrefが動かない・・・
-
明日の日にちを表示するときは
-
ページ内文字列の置換について
-
JavaScriptの入れ子
-
1から100までの平方根を表示す...
-
カウントダウンとカウントアッ...
-
JSによるリンク先の値の取得
-
特定のURLからの訪問者を入室禁...
-
IEでiframe内のcookieを保持
-
16進n桁の文字列変換の方法は?
-
ブラウザを閉じないようにする...
-
promptを使用した年齢認証
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
別ファイルのfunctionの読み込み方
-
getElementsByNameで要素が取得...
おすすめ情報