function onNewsAnswerClick()

in ArticleTemplates/assets/js/modules/quiz.js [342:389]


function onNewsAnswerClick(answer, question, isImage) {
    initPositionPoller();
    let answerPara;
    let correctAnswerWrapper;
    const startTime = null;
    const yPos = null;

    if (question.classList.contains('answered')) {
        return;
    }

    if (answer.dataset.correct === 'true') {
        question.classList.add('is-correct');
        score++;
    } else {
        answer.classList.add('wrong-answer');
        question.classList.add('is-wrong');
        answer = question.querySelector('[data-correct="true"]');
    }

    answer.classList.add('correct-answer');

    if (answer.dataset.correctAnswerExplanation) {
        answerPara = document.createElement('p');
        answerPara.classList.add('answer__explanation');
        answerPara.innerHTML = answer.dataset.correctAnswerExplanation.trim();
        correctAnswerWrapper = answer.getElementsByClassName('answer__message')[0];
        correctAnswerWrapper.appendChild(answerPara);
    }

    question.classList.add('answered');
    numAnswered++;

    // If necessary set up a call to check mpu position
    if (moveMPU) {
        window.requestAnimationFrame(adjustAdPosition.bind(null, yPos, startTime));
    }

    // When we have an image answer we need to move the positioning of the explanation and marker
    if (isImage) {
        showMarkedAnswer(question);
    }

    // If all questions have been answered display the score
    if (questionCount === numAnswered) {
        showScore();
    }
}