1
我必须按照视频中的说明制作测验应用程序。我遵循指示并制作应用程序。几乎一切正常,但在测验结束时我没有得分。 Web控制台显示的代码(用粗体字16行)的以下部分类型错误:TypeError:q未定义(在JS中)
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;
};
function loadNextQuestion() {
var selectedOption = document.querySelector('input[type=radio]:checked');
if(!selectedOption){
alert('Please select your answer!');
return;
}
var answer = selectedOption.value;
if(questions[currentQuestion].answer ==answer){
score += 10;
}
selectedOption.checked = false;
currentQuestion++;
if(currentQuestion == totQuestions - 1){
nextButton.textContent = 'Finish';
}
if(currentQuestion == totQuestions){
container.style.display = 'none';
resultCont.style.display = '';
resultCont.textContent = 'Your score: ' + score;
}
loadQuestion(currentQuestion);
}
loadQuestion(currentQuestion);
任何人都可以请指出错误? 这里是其中问题定义的文件:
var questions = [{
"question": "Why do we use the present simple tense?",
"option1": "General truths and facts",
"option2": "Complete action",
"option3": "Continuous action",
"option4": "Continuous action linked with past",
"answer": "1"
}, {
"question": "Why do we use the present continuous tense?",
"option1": "General truths and facts",
"option2": "Complete action",
"option3": "Continuous action",
"option4": "Continuous action linked with past",
"answer": "3"
}, {
"question": "Why do we use the present perfect tense?",
"option1": "General truths and facts",
"option2": "Complete action",
"option3": "Continuous action",
"option4": "Continuous action linked with past",
"answer": "2"
}, {
"question": "Why do we use the present perfect continuous tense?",
"option1": "General truths and facts",
"option2": "Complete action",
"option3": "Continuous action",
"option4": "Continuous action linked with past",
"answer": "4"
}]
什么是“问题”,它来自哪里? – Craicerjack
什么是“问题”?你传递给函数的是什么? – Li357
@Craicerjack我只发布了代码的错误部分,以避免我的问题被搁置或关闭。我应该发布整个代码吗? –