Laxatives Pharmacology MCQs

Quiz Arena - Challenge Yourself
Checking backend status...

Laxatives pharmacology Quiz

Laxatives pharmacology MCQs

Question 1 of 3 0%
Current Question

/* ========================= LOAD QUESTION ========================= */ function loadQuestion() { const q = quizData[currentQuestion]; const progress = (currentQuestion / quizData.length) * 100; // Update progress document.getElementById("questionCounter").textContent = `Question ${currentQuestion + 1} of ${quizData.length}`; document.getElementById("progressPercentage").textContent = `${Math.round(progress)}%`; document.getElementById("progressBar").style.width = `${progress}%`; // Update question document.getElementById("questionText").textContent = q.question; // Reset state const container = document.getElementById("optionsContainer"); container.innerHTML = ""; selectedOption = null; document.getElementById("nextBtn").disabled = true; document.getElementById("btnText").textContent = "Select an answer"; // Create options const letters = ['A', 'B', 'C', 'D']; q.options.forEach((opt, index) => { const div = document.createElement("div"); div.className = "option"; div.innerHTML = `
${letters[index]}
${opt}
`; div.onclick = () => selectOption(index, div); container.appendChild(div); }); } function selectOption(index, el) { document.querySelectorAll(".option").forEach(o => o.classList.remove("selected")); el.classList.add("selected"); selectedOption = index; document.getElementById("nextBtn").disabled = false; document.getElementById("btnText").textContent = "Continue"; } /* ========================= NEXT BUTTON ========================= */ document.getElementById("nextBtn").onclick = () => { if (selectedOption === null) return; const q = quizData[currentQuestion]; // Save user's answer userAnswers.push({ questionIndex: currentQuestion, userAnswer: selectedOption, correctAnswer: q.correct, isCorrect: selectedOption === q.correct }); // Update score if (selectedOption === q.correct) { score++; } // Move to next question or finish currentQuestion++; if (currentQuestion < quizData.length) { loadQuestion(); } else { submitQuiz(); } }; /* ========================= SUBMIT QUIZ ========================= */ async function submitQuiz() { const payload = { quiz_id: QUIZ_ID, fingerprint: getUserId(), score: score, total_questions: quizData.length }; try { const res = await fetch(`${API_BASE_URL}/api/quiz/submit`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }); const data = await res.json(); showResults(data.rank_percentile); } catch (err) { console.error("Submit error:", err); const fallback = Math.round((score / quizData.length) * 100); showResults(fallback); } } /* ========================= SHOW RESULTS ========================= */ function showResults(beatPercentile) { document.getElementById("quizSection").classList.add("hidden"); document.getElementById("resultsSection").classList.remove("hidden"); // Update score document.getElementById("scoreDisplay").textContent = `${score}/${quizData.length}`; // Determine icon and messages let icon = "🎯"; let message = ""; let ctaMessage = ""; if (beatPercentile >= 95) { icon = "🏆"; message = "🎉 You are in the TOP 5% of users!"; ctaMessage = "Incredible! You're crushing it! Share your achievement and challenge others to beat your score!"; } else if (beatPercentile >= 75) { icon = "⭐"; message = `Excellent! You beat ${Math.round(beatPercentile)}% of users!`; ctaMessage = "You're doing great! Take more quizzes to reach the top 5% and become a Quiz Master!"; } else if (beatPercentile >= 50) { icon = "💪"; message = `Good job! You beat ${Math.round(beatPercentile)}% of users!`; ctaMessage = "You're above average! Keep practicing to climb higher on the leaderboard!"; } else if (beatPercentile > 10) { icon = "📈"; message = `You scored better than ${Math.round(beatPercentile)}% of users`; ctaMessage = "Keep going! Every quiz makes you better. Practice more to improve your ranking!"; } else { icon = "⚠️"; message = "You are in the BOTTOM 10% of users"; ctaMessage = "Don't give up! Everyone starts somewhere. Take more quizzes to learn and improve!"; } document.getElementById("resultsIcon").textContent = icon; document.getElementById("percentileDisplay").textContent = message; document.getElementById("ctaMessage").textContent = ctaMessage; // Show answer review showReview(); } /* ========================= SHOW REVIEW ========================= */ function showReview() { const reviewContainer = document.getElementById("reviewContainer"); const letters = ['A', 'B', 'C', 'D']; reviewContainer.innerHTML = ''; quizData.forEach((question, qIndex) => { const userAnswer = userAnswers[qIndex]; const isCorrect = userAnswer.isCorrect; const questionCard = document.createElement('div'); questionCard.className = 'review-question-card'; let optionsHTML = ''; question.options.forEach((option, optIndex) => { const isUserSelected = userAnswer.userAnswer === optIndex; const isCorrectAnswer = question.correct === optIndex; let optionClass = 'review-option'; let icon = ''; if (isCorrectAnswer) { optionClass += ' is-correct'; icon = '✓'; } if (isUserSelected && !isCorrect) { optionClass += ' user-wrong'; icon = '✗'; } if (isUserSelected && isCorrect) { optionClass += ' user-selected'; } optionsHTML += `
${letters[optIndex]}
${option}
${icon ? `
${icon}
` : ''}
`; }); questionCard.innerHTML = `
${qIndex + 1}
${question.question}
${isCorrect ? '✓ Correct' : '✗ Wrong'}
${optionsHTML}
`; reviewContainer.appendChild(questionCard); }); } /* ========================= START ========================= */ window.onload = () => { checkBackendHealth(); loadQuestion(); };

Comments

Popular Posts