【问题标题】:How to change the colour of the correct answer on a javascript quiz如何在 JavaScript 测验中更改正确答案的颜色
【发布时间】:2019-10-14 19:45:11
【问题描述】:

我正在做一个 javascript 测验:有四个选项的多项选择。当答案正确时,我希望它在进入下一个问题之前变成绿色,如果不正确我希望它变成红色并且正确答案闪烁绿色

我尝试过的编辑使颜色延续到下一个问题。有什么建议吗?

var currentQuestion =0;
var score = 0;
var totQuestions = questions.length;

var container = document.getElementById('quizContainer');
var questionEl = document.getElementById('question');
var opt1 = document.getElementById('opt1');
var opt2 = document.getElementById('opt2');
var opt3 = document.getElementById('opt3');
var opt4 = document.getElementById('opt4');
var nextButton = document.getElementById('nextButton');
var resultCont = document.getElementById('result');

function loadQuestion(questionIndex) {
var q = questions[questionIndex];
questionEl.textContent = (questionIndex +1)+ '.' + q.question;
opt1.textContent = q.option1;
opt2.textContent = q.option2;
opt3.textContent = q.option3;
opt4.textContent = q.option4;};


document.getElementById('opt1').onclick = function   loadNextQuestion    (){
var selectedOption = document.getElementById('opt1');

var answer = 1;
if(questions[currentQuestion].answer == answer){
score +=1;
}
selectedOption.clicked = false;
currentQuestion++;
if(currentQuestion == totQuestions - 1) {
nextButton.textContent = 'Finish';
 }
if (currentQuestion == totQuestions) {
container.style.display ='none';
resultCont.style.display = '';
resultCont.textContent = 'You scored ' + score;
return;
}
loadQuestion(currentQuestion);
}

四次 opt2、opt3 和 opt 4 重复三遍

【问题讨论】:

  • 你试过someButtonElement.style.backgroundColor = "green"吗?
  • 是的,我认为这可以工作......但我不知道如何重置它:它将绿色带到下一个问题
  • 当你需要重置它时,只需执行someButtonElement.style.backgroundColor = null;

标签: javascript colors


【解决方案1】:

这是通过 CSS 解决的。您可以根据州的需要将类应用于您选择的元素。我不确定您的代码中的哪个元素代表“正确”答案,但您会得到对它的引用并根据需要添加或删除一个类。例如:

document.querySelector('.myCorrectAnswerElement').classList.add('greenSuccessClass');

【讨论】:

    【解决方案2】:

    希望此示例对您有所帮助。

    HTML:

    <div id="item" > I am just a div</div>
        <button id="yes">yes</button>
        <button id="no">no</button>
    

    CSS:

        #item{
        width: 500px;
        height: 30px;
        background-color: red;
    }
    

    JS:

    var item = document.getElementById("item");
    var yes = document.getElementById("yes");
    var no = document.getElementById("no");
    
    yes.onclick = function(){
        item.style.backgroundColor = "red";
    }
    
    no.onclick = function(){
        item.style.backgroundColor = "green";
    }
    

    【讨论】:

      猜你喜欢
      • 2012-07-19
      • 2018-08-27
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 2018-11-30
      • 2015-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多