1
Fork 0
mirror of https://github.com/Steffo99/trivia.git synced 2024-10-16 09:37:27 +00:00
trivia/script.js
2019-08-14 19:51:10 +02:00

48 lines
No EOL
1.5 KiB
JavaScript

const questionElement = document.getElementById("question");
let correctAnswerNumber = null;
async function fetchQuestion() {
r = await fetch("https://opentdb.com/api.php?amount=1&type=multiple");
j = await r.json();
d = j["results"][0];
questionElement.innerHTML = d["question"];
correctAnswerNumber = Math.floor(Math.random() * 4);
for(let i = 0; i < 4; i++) {
if(i === correctAnswerNumber) {
document.getElementById("answer-" + String(i)).innerHTML = d["correct_answer"];
}
else {
document.getElementById("answer-" + String(i)).innerHTML = d["incorrect_answers"].pop();
}
}
}
function colorAnswers() {
for(let i = 0; i < 4; i++) {
if(i === correctAnswerNumber) {
document.getElementById("answer-" + String(i)).className += " correct";
}
else {
document.getElementById("answer-" + String(i)).className += " incorrect";
}
}
correctAnswerNumber = null;
}
function cleanup() {
for(let i = 0; i < 4; i++) {
let answerElement = document.getElementById("answer-" + String(i));
answerElement.className = answerElement.className.replace(" correct", "");
answerElement.className = answerElement.className.replace(" incorrect", "");
}
}
document.onkeypress = async function(e) {
if(correctAnswerNumber == null) {
await fetchQuestion();
await cleanup();
}
else {
await colorAnswers();
}
};