
よろしくお願いします。
外国語の単語暗記のために、問題がランダムで出てくるページを作りたいと思っています。
たとえば、一つの言葉に対して、三つの項目(外国語表記、発音、日本語訳)を設定し、それを数百語ほど入力しておきます(発音記号表示の問題についてはここでは無視してください)。ボタンを押すことによって一つあるいは複数の外国語表記が表示され、別のボタンを押すことによってその語に対する残りの項目が表示される、というような仕組みにしたいのです。
JavaSciriptで、ランダム技ができるということまでは分かりましたが、まだまだwebページ作成技術が低い私としては応用できません。上記のようなページ作成が可能であれば、お教え下さい。
また、webページよりも、例えばエクセルなどを利用した方がいい、という場合もあるでしょう。そのような情報も教えて頂けるとうれしいです。
No.2ベストアンサー
- 回答日時:
以下のようにつくってみました。
データの増やし方わかりますよね?
とりあえず試してみて!
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>random test</title>
<script type="text/javascript" charset="Shift_JIS">
var mondai_max = 4; // 問題の数
var dat = new Array();
dat[0] = new Array("one","ワン","一");
dat[1] = new Array("two","ツー","二");
dat[2] = new Array("three","スリー","三");
dat[3] = new Array("four","フォー","四");
dat[4] = new Array("","",""); // 最後につける
var mondai = mondai_max;
var soeji = new Array();
soeji["en"] = 0;
soeji["pro"] = 1;
soeji["jp"] = 2;
function f_clear() {
document.f1.reset();
mondai=Math.floor(Math.random() * mondai_max);
}
function f_write(i_name) {
document.f1.elements[i_name].value = dat[mondai][soeji[i_name]];
}
</script>
</head>
<body>
<form name="f1" onsubmit="return(false);">
<input type="button" value="new" onclick="f_clear();f_write('en');return(false);">
<input type="text" name="en"><br>
<input type="button" value="発音" onclick="f_write('pro');">
<input type="text" name="pro"><br>
<input type="button" value="意味" onclick="f_write('jp');">
<input type="text" name="jp"><br>
</form>
</body></html>
回答ありがとうございます。
思っていたとおりの機能が実現できていますね。本当に助かりました。ひな形を元に応用をする力はあると思いますので、これを自分なりに味付けてして利用していきたいと思います。
どうもありがとうございました。
No.1
- 回答日時:
回答がないようなので・・・
方法はいくつかあると思いますが私の考え方だと結構面倒?かもしれません。
1.HTMLのコーナーの質問なので。
>JavaSciriptで、ランダム技ができるということまでは分かりましたが・・・
とありますので、数百語分のHTMLファイルを作り
var ran= Math.floor(Math.random()*200 );
window.open(ran + '.htm');
でリンクする。大変そう(^^;
2.JavaSciript内で条件分岐してalertとして表示する。例えば
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<TITLE></TITLE>
<SCRIPT language="JavaScript">
<!--
function rand() {
var ran= Math.floor(Math.random()*200 );
switch(ran) {
case 0 :
alert("Language");
alert("lan・guage /lgwd/");
alert("[音声・文字による]言語");
break;
case 1 :
alert("Practice");
alert("prac・tice /prkts/");
alert("練習,けいこ ");
break;
case 2 :
alert("Money");
alert("mon・ey /mni/");
alert("金(かね); 貨幣,通貨");
break;
case 3 :
alert("hogehoge");
alert("*******");
alert("ほげほげ");
break;
case 4 :
alert("asdf");
alert("*+:::;:");
alert("ほにゃら");
break;
// 5~198は省略
case 199 :
alert("Wine");
alert("wine /wn/");
alert("ワイン。葡萄酒");
break;
default :
alert("準備中です。");
break;
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<form name="f1">
<input type="button" onClick="rand()" value="問題を開く">
</form>
</BODY>
</HTML>
これも数百書くのは大変でしょうしサイズが大きくなるとレスポンスが悪くなる気がします。
JavaSciriptでも外部ファイルから読み込みが出来るかもしれませんが、当方は残念ながら知識不足です。
3.現実的にはエクセルのVBAで作ったほうが多分楽だと思います。
一覧表を作って乱数からVLOOKUP関数で表示するようにすれば追加更新も楽です。
その場合はカテゴリーを変えて質問されたらVBAエキスパートの方から回答があると思います。
あまり参考になってないですね。すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB2010でのHTMLタグ抽出
-
【ExcelVBA】300万件越えCSVか...
-
Excelマクロ 空白セルを無視し...
-
VBAでcsvファイルもシートもあ...
-
ダブルコーテーション付きでCSV...
-
バッチ処理 特定の文字以降を...
-
teratermで、ファイル名をinput...
-
VBAで複数のCSVからレコードセ...
-
VBA テキストボックスを選択状...
-
型の値をDataGridViewセルに変換...
-
C言語のプログラム
-
ファイル名を変数で書きこむfwr...
-
LibreOffice Calcのマクロで、...
-
CSVデータの文字列置換
-
EXCEL→CSV保存時のダブルクォー...
-
EXCEL CSVにて保存するときのダ...
-
IPアドレスのゼロパディング
-
バッチファイルでCSVの中身を仕...
-
Access VBA エラー2448について
-
pythonのエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INPUTタグ disabledの文字色を...
-
<textarea>に入れた数値を定型U...
-
タグ初心者
-
WEBサイトの背景に画像を付けたい
-
追加ボタンでテーブルの行を追...
-
問題をランダムに出すページの作成
-
テキストリンクでsubmitするには
-
Excelマクロ 空白セルを無視し...
-
バッチ処理 特定の文字以降を...
-
VBAでcsvファイルもシートもあ...
-
ダブルコーテーション付きでCSV...
-
【ExcelVBA】300万件越えCSVか...
-
ファイル名を変数で書きこむfwr...
-
VBAで複数のCSVからレコードセ...
-
VBA テキストボックスを選択状...
-
CSVで余計な空行が入る
-
Access VBA エラー2448について
-
複数のファイルをまたぐエクセ...
-
VB.netでShellExecuteがしたい
-
LibreOffice Calcのマクロで、...
おすすめ情報