Sunglasses UV Protection Guide

Sunglasses UV Protection Guide

Test Your UV Protection Knowledge!

Select the best answer for each question.

Patient: User
Date:

${index + 1}. ${item.question}

`; const optionsContainer = document.createElement('div'); optionsContainer.className = 'space-y-2'; item.options.forEach(option => { const optionEl = document.createElement('div'); optionEl.className = 'quiz-option p-3 border rounded-lg cursor-pointer'; optionEl.textContent = option; optionEl.dataset.questionIndex = index; optionEl.dataset.option = option; optionEl.addEventListener('click', handleOptionSelect); optionsContainer.appendChild(optionEl); }); questionEl.appendChild(optionsContainer); quizQuestionsContainer.appendChild(questionEl); }); } function handleOptionSelect(e) { const selectedEl = e.target; const questionIndex = selectedEl.dataset.questionIndex; userAnswers[questionIndex] = selectedEl.dataset.option; document.querySelectorAll(`.quiz-option[data-question-index='${questionIndex}']`).forEach(opt => opt.classList.remove('selected')); selectedEl.classList.add('selected'); } function submitQuiz() { let score = quizData.reduce((acc, item, index) => acc + (userAnswers[index] === item.answer ? 1 : 0), 0); const percentage = Math.round((score / quizData.length) * 100); quizScoreEl.textContent = `${percentage}%`; quizFeedbackEl.textContent = percentage === 100 ? "Excellent! You're a UV protection expert!" : (percentage >= 75 ? "Good job! Solid understanding." : "A quick review of the guide might be helpful!"); quizContainer.classList.add('hidden'); quizResults.classList.remove('hidden'); } function retakeQuiz() { userAnswers = {}; renderQuiz(); quizContainer.classList.remove('hidden'); quizResults.classList.add('hidden'); } // --- Event Listeners --- nextBtn.addEventListener('click', goToNextTab); prevBtn.addEventListener('click', goToPrevTab); downloadPdfBtn.addEventListener('click', generatePdf); submitQuizBtn.addEventListener('click', submitQuiz); retakeQuizBtn.addEventListener('click', retakeQuiz); // --- Initial Setup --- renderWebContent(); renderQuiz(); updateNavButtons(); });
Scroll to Top