
【コピペOK】Javascriptでクイズアプリの作り方
完成イメージ
問題文を変えて、ご自由に使用ください。
解説・作り方
それぞれのコードについて解説していきます。
HTML
簡単に HTML を作成する
quiz_inner の id がついてる div タグは装飾為に使用してるだけなので、なくても大丈夫です。
CSS
CSS でそれっぽくデザインします。
デザインはお好きに変更してください!
質問の部分は Javascript で変更していきます。
Javascript
配列の中に配列を入れることで、質問を用意します。
配列最初に問題文を入れます。
次に HTML で 4 つの質問を用意したので、4 つ質問用意します。
最後の数字は正答判定に必要なもので、正解の問題の番号を入れてください。
次に、それぞれの HTML 要素を取得していきます。
document.getElementById を使ってそれぞれの HTML 要素が取得できます。
次にカウントの変数を初期値 0 で宣言してあげます。
QuizCnt は現在何問目か、Correct は正答数を計算するのに必要です。
次に、クイズをセットする関数を用意します。
それぞれ、textContent で書き換えてあげます。
第〇〇問を表示する部分は QuizCnt を使いますが、初期値を 0 に設定したので、+1をしてあげます。
question[QuizCnt][0]は問題文,[1]~[4]は問題文を表示できます。
この時点では関数を宣言しただけなので、 SetQuize()を一回読んであげます。
これで無事、問題文が表示されたかと思います。
次に回答チェックの関数を作っていきます。
引数に ans を入れ、何番のボタンが押されたを確かめます。
ans == question[QuizCnt][5]は[5]は配列の最後に用意した番号です。
これにより、「押された番号と、配列で用意していた番号が一致していたら」という条件ができます。
正解の場合は、window.alert で正解を出し、Correct++;で回答回数を 1 増やしてあげます。
不正解の場合は、else で分けてあげます。
そして、正解しても、しなくても QuizCnt を増やし、SetQuize();で再び、問題をセットします。
QuizCnt == question.length で、全て回答した処理を実行します。
質問は空にして、タイトルの部分に得点を表示してあげます。
これもまた、関数を宣言しただけなので呼んであげる必要があります。
addEventListener でクリックされた時に CheckAnswer()を読んであげてます。
それぞれの問題番号にあった引数を入れてあげます。
以上で完成です!
もう少し、コードを短く簡潔にできると思いますが、今回はこれで終了します。
ありがとうございました!