Tarun Rathore Ответов: 1

Как получить правильный балл викторины ?


Я новичок. Ниже приводится HTML-документ, чтобы мой код JavaScript.

Что я уже пробовал:

<div class="start">
    <h1> Welcome to English Pupils </h1>
    <a class="btn" href="#"> Get Started </a>
</div>

<div class="quiz">
    
    
    <a class="sub" href="#"> Submit </a>
</div>

<div class="summary">
    <h2> Summary Screen </h2>
    <p> Congrats you scored x out of y correct ! </p>
    <a class="rst" href="#"> Restart Quiz </a>
</div>


var questions = [
    {
        title: "I like cricket.",
        answer: "I do not like cricket."
    },
    
    {
        title: "He is smart.",
        answer: "He is not smart."
    },
    
    {
        title: "She sings well.",
        answer: "She does not sing well."	
    },
    
    {
        title: "You are a cheat.",
        answer: "You are not a cheat."
    },
    
    {
        title: "They are coming.",
        answer: "They are not coming."
        
    },
    
];


let score = 0;
let currentQuestion = 0;

$('document').ready(function () {
    $('.start a').click(function (e) {
        e.preventDefault();
        $('.start').hide();
        $('.quiz').show();
        showQuestion();
    });
    
    $('.output').keyup(function (e) {
        if (e.keyCode === 13) {
            $('.sub').click();
        }
    });
});


function showQuestion() {
    let question = questions[currentQuestion];
    $('.input').val(question.title);
    $('.quiz').html();
    for (var i = 0; i < question.answer.length; i++) {
    }
}

function checkAnswer() {
    let question = questions[currentQuestion];
    let out = $('.output').val();
    if (out == questions[currentQuestion].answer) {
        score++;
    }
    currentQuestion++;
    if (currentQuestion >= questions.length) {
        showSummary();
    } else {
        showQuestion();
    }
    
    $('.sub').click(function () {
        $('.output').val('');
    });
}


function showSummary() {
    $('.quiz').hide();
    $('.summary').show();
    $('.summary p').text("Congrats you scored " + score + " out of " + 
    questions.length + " correct !");
    
}

function restartQuiz() {
    $('.summary a').click(function (e) {
        e.preventDefault();
        $('.summary').hide();
        $('.quiz').show();
        currentQuestion = 0;
        showQuestion();
    });
}

Tarun Rathore

Мне потребуется некоторое время, чтобы ознакомиться с правилами форума. Я внес исправления в соответствии с вашими предложениями. Не могли бы вы теперь предложить мне решение ?

1 Ответов

Рейтинг:
0

OriginalGriff

Лучше всего добавить информацию к вашему предыдущему вопросу вместо того, чтобы публиковать здесь необработанный HTML, и использовать виджет "код", чтобы заключить его в предварительные теги и задействовать подсветку синтаксиса:

<pre><div class="start">
    <h1> Welcome to English Pupils </h1>
    <a class="btn" href="#"> Get Started </a>
</div>

<div class="quiz">
    
    
    <a class="sub" href="#"> Submit </a>
</div>

<div class="summary">
    <h2> Summary Screen </h2>
    <p> Congrats you scored x out of y correct ! </p>
    <a class="rst" href="#"> Restart Quiz </a>
</div></pre>
Затем дает нам это:
<div class="start">
    <h1> Welcome to English Pupils </h1>
    <a class="btn" href="#"> Get Started </a>
</div>

<div class="quiz">
    
    
    <a class="sub" href="#"> Submit </a>
</div>

<div class="summary">
    <h2> Summary Screen </h2>
    <p> Congrats you scored x out of y correct ! </p>
    <a class="rst" href="#"> Restart Quiz </a>
</div>
Но ваш вопрос по-прежнему остается тем же самым и требует того же ответа: у вас нет javascript внутри и нет кода за кодом для обработки "викторины". Без хотя бы одного из них у вас не будет никаких результатов для отображения!

Я настоятельно рекомендую вам перечитать свои заметки о курсе и / или последние главы книги, поскольку вы, похоже, еще не поняли, как создать отзывчивую веб-страницу.