Quiz Game Library API
Initialize a quiz object
| Property |
Type |
Description |
| question |
String |
the question set by developer |
| answer |
Array |
the array of answers including text of question and the correction |
| text |
Sting |
text of the answer |
| correct |
Boolean |
set the answer to be correct or not |
| item |
Array of Arrays |
you can set each item with question and answer |
You can set item in the fomat of below
item: {
question: "What is 1+1 ?",
answers: [
{ text: '1', correct: false },{ text: '2', correct: true },...]
}
You can initialize quiz game object in the fomat below
{
{
question: "...",
answers: [{ text: '...', correct: false },{ text: '...', correct: true },...]
},
{
question: "...",
answers: [{ text: '...', correct: true },...]
},
...
}
Events
When user click on the "Start" , "Next",and "Restart Quiz" it reset the status of the quiz object by resetStatus() to hide the "Next". Only after click on "Answers", "Next" will appear
| Event |
Discription |
startButton.addEventListener('click', startQuiz) |
add event listener if the startbutton is clicked, run the function startQuiz() |
nextButton.addEventListener('click',()=>{goToNextQuestion()}) |
if the next button is clicked display the next question |
button.addEventListener('click', selectAnswer) |
add event listener is the answer button is clicked run the seleceAnswer() function to count the score from selectAnswer |
selectAnswer(event) |
take in a event as a parameter, get the button answer that user selected and records the correct and wrong answer, set correct answer to button dataset |
Methods
| Name |
Params |
Discription |
| startQuiz() |
N/A |
start the quiz start the timmer inside |
| randomOrder(questions) |
questions Object with Array of Arrays inside |
shuffuled through the questions to generate random order of the questions everytime when start the quiz |
| goToNextQuestion() |
N/A |
Move to next question and display |
| displayQuestion(question) |
question |
populating different answers in the question |
| startSetTime() |
N/A |
Set timmer for quiz modify let timmer = 10; and (timmer > -1) {startSetTimeDate = setTimeout(() => {fun();}, 1000); to change the timmer period |
| resetState() |
N/A |
clear out old answer for the previous question when move to next function |
| createAnswerButton(question) |
question |
create the answear button pass in the answear set in question |
| checkIfhaveNext(mark) |
mark |
check if the question have next question behind, if not, the next button will not display |
| setStatus(element, correct) |
element, correct |
clear the status of correct and wrong after finish answer each question so that the correct and wrong answers can be updated in next question |
| clearStatus(element) |
element |
clear correct and wrong status for answer button |
| getResult(length) |
length |
get the result for the quiz when finish all question and didn't restart the quiz |
Callbacks
| Property |
Type |
Description |
forEach |
function |
Iterarate through the answer button to set the status of answer button |