Tuesday, November 5, 2024

Admin

Admin - Quiz Setup

Admin Quiz Builder

Question Builder (Admin Only)






Correct
Correct
Correct
Correct

Go to Quiz (User Link)

questions.forEach((q, index) => { const questionDiv = document.createElement("div"); questionDiv.classList.add("question"); const questionText = document.createElement("p"); questionText.textContent = `${index + 1}. ${q.questionText}`; questionDiv.appendChild(questionText); q.options.forEach((option, optIndex) => { const label = document.createElement("label"); const radio = document.createElement("input"); radio.type = "radio"; radio.name = `question${index}`; radio.value = optIndex; label.appendChild(radio); label.append(` ${option}`); questionDiv.appendChild(label); questionDiv.appendChild(document.createElement("br")); }); quizForm.appendChild(questionDiv); }); } function submitQuiz() { let score = 0; questions.forEach((q, index) => { const selectedOption = document.querySelector(`input[name="question${index}"]:checked`); if (selectedOption && parseInt(selectedOption.value) === q.correctAnswer) { score += q.points; } else if (selectedOption) { score -= 0.05; // Penalty for incorrect answer } }); const name = prompt("Enter your name:"); leaderboard.push({ name, score }); leaderboard.sort((a, b) => b.score - a.score); localStorage.setItem("leaderboard", JSON.stringify(leaderboard)); document.getElementById("result").textContent = `Your score: ${score}`; renderLeaderboard(); } function renderLeaderboard() { const leaderboardSection = document.getElementById("leaderboardSection"); const leaderboardTable = document.getElementById("leaderboardTable"); leaderboardSection.style.display = "block"; leaderboardTable.innerHTML = ` Rank Name Score `; leaderboard.forEach((entry, index) => { const row = leaderboardTable.insertRow(); row.insertCell(0).textContent = `Rank ${index + 1}`; row.insertCell(1).textContent = entry.name; row.insertCell(2).textContent = entry.score; }); } // Initialize the quiz renderQuiz();

No comments:

Post a Comment