Primary 3 – Unit 4 Quiz
Time Left: 45:00
Q${i+1}: ${q.q}
`; const answersDiv = document.createElement('div'); answersDiv.className = "answers"; q.a.forEach((ans, j) => { answersDiv.innerHTML += ` `; }); div.appendChild(answersDiv); quizForm.appendChild(div); }); // ==== TIMER ==== let timeLeft = 45 * 60; // 45 minutes in seconds const timerEl = document.getElementById('timer'); const timerInterval = setInterval(() => { const min = Math.floor(timeLeft / 60); const sec = timeLeft % 60; timerEl.textContent = `Time Left: ${min}:${sec < 10 ? '0' : ''}${sec}`; timeLeft--; if(timeLeft < 0) { clearInterval(timerInterval); submitQuiz(); } }, 1000); // ==== LEADERBOARD SYSTEM ==== let leaderboard = JSON.parse(localStorage.getItem('leaderboard')) || []; function updateLeaderboard(score) { const name = prompt("Enter your name for leaderboard:"); leaderboard.push({name, score}); leaderboard.sort((a,b) => b.score - a.score); leaderboard = leaderboard.slice(0,10); // keep top 10 localStorage.setItem('leaderboard', JSON.stringify(leaderboard)); displayLeaderboard(); } function displayLeaderboard() { const list = document.getElementById('leaderboardList'); list.innerHTML = ''; leaderboard.forEach(entry => { const li = document.createElement('li'); li.textContent = `${entry.name} - ${entry.score} / ${questions.length}`; list.appendChild(li); }); } displayLeaderboard(); // ==== SUBMIT QUIZ ==== document.getElementById('submitBtn').addEventListener('click', submitQuiz); function submitQuiz() { clearInterval(timerInterval); let score = 0; questions.forEach((q, i) => { const answer = document.querySelector(`input[name="q${i}"]:checked`); if(answer && parseInt(answer.value) === q.correct) { score++; } }); document.getElementById('score').textContent = `Your Score: ${score} / ${questions.length}`; updateLeaderboard(score); }