
連続の質問になりますが、よろしくお願いします。
以下のようなことは、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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIフォーム一定時間過ぎる...
-
location.hrefが動かない・・・
-
動的生成したscriptタグが実行...
-
スクロールしても画像・文字が...
-
*.jsをHTMLで読み込んでHTMLに...
-
特定のURLからの訪問者を入室禁...
-
location.hrefの使用方法について
-
javascriptでの大文字小文字の区別
-
JavaScriptでテーブルの内容を抽出
-
外部jsからdocument.writeする...
-
ページ内文字列の置換について
-
plug-inが無い場合に他のページ...
-
ランダム音声と正解・不正解の表示
-
document.writeの文字列が実行...
-
Operaにおけるscriptのエスケー...
-
「javascript」一つのコントロ...
-
外部JavaScriptの書き方
-
ブロックされるのかされないのか?
-
<a href="#" …>の意味を教えて...
-
SQLのWHEREで全てを質問する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ジャバスクリプトが無効になっ...
-
Netscape4.7で。
-
足跡を付けたい
-
ページ内文字列の置換について
-
JavaScript について
-
日付について
-
Cookieの回数で閲覧制限、javas...
-
代入演算子の%=について
-
safari、firefoxでjavascript
-
ブラウザのアドレス欄に
-
始めまして、23歳の事務系OLです。
-
JavaScriptが有効ならA、無効ならB
-
外部javascriptファイルをjavas...
-
結果のなかにさらにjavascript
-
読み込むたびに画像を順番に表...
-
ブラウザを閉じないようにする...
-
javascriptで変数を組み込みたい
-
IEでiframe内のcookieを保持
-
文字の置換について
-
location.hrefが動かない・・・
おすすめ情報