Попытка запустить синхронизированную викторину с несколькими вариантами ответов при нажатии кнопки; убрать время при неправильном ответе - PullRequest
0 голосов
/ 03 августа 2020

У меня в основном работает тест по кодированию с несколькими вариантами ответов, но мне нужно добавить таймер на 60 секунд. Викторина заканчивается, когда таймер достигает 0, и неправильные ответы должны удалить 10 секунд из оставшегося времени.

Но я даже не могу запустить таймер, так что это solid место для начала .

Вот что у меня есть. HTML:

            <div class='col-4 text-right mt-5'>
                <h4 id='score' style='visibility:hidden'>Score: </h4>
                <br>
                <h4 id='time' style='visibility:hidden'></h2>
            </div>
        </div>
    </div>

JavaScript:

var begin = document.querySelector('#button');
var timer = document.getElementById('time');
var seconds = 60;

function buttonpress() {
    i = 0;
    
    document.getElementById('begin').style.visibility="hidden";
    quizArea.style.visibility='visible';
    scoreCount.style.visibility='visible';
    timer.style.visibility="visible";
    
    function startTimer() {
        timeIntervalUp = setInterval(function(){countTimer()}, 1000);
    }
    function countTimer() {
        time.innerHTML = "Time Remaining: " + seconds;
        seconds--;
    }
    actualTest(i,allQuestions);
}


function actualTest() {
    question.innerHTML=allQuestions[i].q;
    firstOp.innerHTML=allQuestions[i].a;
    secondOp.innerHTML=allQuestions[i].b;
    thirdOp.innerHTML=allQuestions[i].c;
}

function userAnswer(userAnswer) {
    console.log(userAnswer)
    console.log(allQuestions[i].answer)

    if(userAnswer === allQuestions[i].answer) {
        console.log("Correct!");
        scorePlus++;
    } else {
        console.log("Incorrect.")
    }

    i++
    scoreCount.innerHTML=scorePlus

    if(i < allQuestions.length || seconds == 0) {
        actualTest(i, allQuestions);
    } else {
        quizArea.style.visibility="hidden"
        alert("You finished! Your final score was" + scoreCount);
        
    }
}
...