「#JavaScript_テストを作る」タグアーカイブ

“examination_v2.js”を公開しました

“examination.js”(初版)の改良版である”examination_v2.js”の公開を開始しました!
配布ファイル一覧“より”テストキットv2″を選択してください。

“テストキット2″から”テストキットv2″に変更します(2020/12/06)

このjsファイルはWordPress用ではありません。

“examination_v2.js”の特徴は以下の通りです。

  • 一問一答が可能に(従来の全問表示形式との切替可)
  • 一問一答ではリストマーカー(リスト文頭の記号)の変更、誤答終了(誤答した時点で不合格)も利用可
  • 解答欄○×表示(文頭)
  • 正答が解答欄とは別表示に
  • 採点結果がアラートから問題文の下に

ページ下にある見本を試していただくと分かるのですが、一問一答はただ小問を次々と送っていくだけではなく、大問の表示切替にも対応しています。今回のセールス?ポイントはそこにあると思っていて、実装に時間がかかったのもその部分でした。

このように機能が増えた一方、jsファイルを埋め込むhtmlファイルは処理の関係から”HTML5であること”が必須となりました(初版はHTML 4.01以降であれば動作します)。またそれに加えて以下の条件が追加されています。満たさない項目が1つでもあると動作しない可能性がありますのでご注意ください。(配布ファイル内の”カスタマイズの手引.txt”にも同じ内容を記載しています)

  • 1つの解答欄(テキストボックスまたはセレクトボックス)を子要素に持つli要素1つ(以下、”解答欄を持つli要素”)を1問とすること
  • 解答欄を持つli要素はform要素の孫要素(form > olまたはul > li)とすること
  • 解答欄を持つli要素と解答欄がないli要素(問題文として表示)は別のolまたはul要素とすること(1つの要素内に混在してはならない)
  • 変数dispIdと同じ値(初期値は”examination”)をid属性の値とした要素はform要素の最後の子要素とすること

なお、初版の配布ファイル内の”sample.html”はこれらの条件をすべて満たしているので、要素の子孫関係が変わらない限りはjsファイルを入れ替えるだけで使用可能です。

最後に、”テストキット2″に同梱の”sample.html”の内容を見本として掲載します。”採点”ボタンを押すと次の問題が表示され、最終問題を採点すると結果が出ます。

数字や英字、記号はすべて半角小文字で、それ以外は全角文字で記入してください。(1問10点、合格は100点満点中80点以上)

1 : 入力方式

次の問いに答えなさい。

  1. 1+1=
  2. (98+76)/(543-21)x0=
  3. この問題の点数は1問
  4. 円周率π=15926535…
  5. “日本”は英語(5文字)で

2 : 選択方式

次の問いをよく読み、選択肢の中から正しい答えを選びなさい。

  1. アルファベットの最初の文字はである。
  2. 1000グラムは1である。
  3. 光の速さは音の速さ
  4. CO2とはの化学式である。
  5. 地球は系にある惑星の1つである。

JavaScriptでテストを作る

JavaScriptでテストを作成できる”examination.js”が完成し、“The Main Line”にて公開を開始しました。
配布ファイル一覧“より”テストキット”を選ぶとダウンロードが可能です。

2020年11月03日より、”examination_v2.js”の配布を開始しました。一問一答が可能となったほか、いくつか改良を加えています。”配布ファイル一覧“より、”テストキットv2″をご選択ください。v2について詳細を見る>>(2020/12/06)

このファイルは、以前に”The Main Line”で公開されていた駅名検定コーナーで使用するために作成したもので、それを配布用に改修しています。”examination.js”は採点などのプログラムや解答、点数の定義が含まれており、問題を表示するHTMLファイルと合わせるとテストが出来上がります。

主な仕様は以下の通りです。

  • 自動採点
  • 合格基準を、点数(~点以上)または問題数(~問以上)に設定することが可能
  • 解答表示
  • Twitter投稿用のボタンを表示(非表示にすることも可能)
  • 1つのグローバル変数”examination”を使用

こんな感じですかね。下の見本にもあるように、解答欄は入力(記述)と選択の2種類があり、選択肢を作らない分、前者のほうが作成は簡単です。

imgタグを使えば問題に画像を表示させることもできます。HTML5になり、inputタグではさまざまな種類の入力欄ができたので、新しいものを使うのも手ですね。

最後に、配布ファイルに同梱の”sample.html”の内容を見本として掲載します。”採点”ボタンを押すと結果が表示されます。

数字や英字、記号はすべて半角小文字で、それ以外は全角文字で記入してください。

1 : 入力方式(1問6点x5=30点)

次の問いに答えなさい。

  1. 1+1=
  2. (98+76)/(543-21)x0=
  3. この問題の点数は1問
  4. 円周率π=15926535…
  5. “日本”は英語(5文字)で

2 : 選択方式(1問4点x5=20点)

次の問いをよく読み、選択肢の中から正しい答えを選びなさい。

  1. アルファベットの最初の文字はである。
  2. 1000グラムは1である。
  3. 光の速さは音の速さ
  4. CO2とはの化学式である。
  5. 地球は系にある惑星の1つである。

合格の基準は、50点中30点以上に設定されています。