簡體   English   中英

使用 JavaScript 提高測驗分數

[英]Increase score in quiz using JavaScript

我目前正在使用 JavaScript、HTML 和 CSS 進行在線測驗。 到目前為止,我對此感到非常滿意,但是在嘗試將用戶分數添加到游戲中時遇到了問題。 對於用戶得到正確答案的每個問題,我正在尋找分數增加 5 分。 我嘗試了幾種不同的方法,但似乎一直遇到同樣的問題,分數沒有增加。 這是我最近的嘗試,誰能給我一些建議?

const scorePanelElement = document.getElementById('score-panel');
const userScoreElement = document.getElementById('user-score');
const scoreCounterElemet = document.getElementById('score-counter');
const questionCounterElement = document.getElementById('question-counter');

document.addEventListener("DOMContentLoaded", startButton)

let shuffledQuestions, currentQuestionIndex;
let questionCounter = 1;
let scoreCounter = 5;
let score = 5;
let selectedAnswer;
let maxQuestions = 10;

startButton.addEventListener("click", startGame)
nextButtonElement.addEventListener('click', () => {
    currentQuestionIndex++
    nextQuestion()
    userScore()
  })


console.log(questions)


function startGame() {
    console.log('StartGame');
    startButton.classList.add('hidden');
    shuffledQuestions = questions.sort(() => Math.random() - .5);
    currentQuestionIndex = 0;
    questionPanelElement.classList.remove('hidden');
    questionCounter = 0;
    scoreCounter = 0;
    callQuestions();
}

function checkAnswer(e) {
    selectedAnswer = e.target
    const correct = selectedAnswer.dataset.correct;
    Array.from(answerButtonsElement.children).forEach(button => {
        answerChoice(button, button.dataset.correct);
    })
    if (shuffledQuestions.length > currentQuestionIndex + 1) {
        callQuestions;
    } else {
        nextButtonElement.classList.add('hidden');
        questionPanelElement.classList.add('hidden');
        usernameElement.classList.remove('hidden');
    }
    answerChoice; 
}

 
function userScore() {
    if (selectedAnswer === 'correct') {
        scoreCounter++;
        scoreCounterElemet.innerText = + score;
    }
    console.log('Increase Score')
}```

我相信問題就在這里

function userScore() {
    if (selectedAnswer === 'correct') {
        // increases scoreCounter by one
        scoreCounter++;

        // sets the element text into something that doesn't really make sense
        scoreCounterElemet.innerText = + score;
    }
    console.log('Increase Score')
}

相反,嘗試這樣的事情

function userScore() {
    if (selectedAnswer === 'correct') {
        scoreCounter = scoreCounter + 5; // increases scoreCounter by 5

        // sets the element text to the current score
        scoreCounterElemet.innerText = scoreCounter; 
    }
    console.log('Increase Score')
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM