В настоящее время я пытаюсь сделать викторину, на которой вопрос отображает только один вопрос за раз и в целом, пользователям нужно только ответить на 3 вопроса правильно, прежде чем им разрешат продвигаться. В любое время, если пользователь должен был ответить на любой вопрос неправильно, пользователь будет перенаправлен на страницу GameOver.Javascript Викторина не переходит к следующему
В настоящее время мне удалось установить рандомизированные вопросы, и когда пользователь выберет неправильный ответ, они будут направлены на страницу GameOver.
На данный момент я застреваю в той части, где он всегда показывает Question1, хотя пользователь выбрал правильный ответ.
Могу ли я получить помощь в том, как вызвать следующий вопрос, когда пользователь выбрал правильный ответ из текущего вопроса?
Благодаря
var questionOrder = ["Q1", "Q2", "Q3"];
var answerOrder = [
["Yes", "No"],
["Yes", "No"],
["Yes", "No"]
];
var CorrectAnswers = ["1", "2", "2"];
//To Set random Question
var random_QuestionIndex = Math.floor(Math.random() * questionOrder.length);
//Assign Variable to generate random question for the quiz
var question = questionOrder[random_QuestionIndex];
var answerList = answerOrder[random_QuestionIndex];
function showQuestion() {
//Randomise Question
//Code to generate random question for the quiz
AnswerIndex = "";
$('#Question_List').html(question);
//Generate random answers in relation to the questions
$('#STBAnswer_01').hide();
$('#STBAnswer_02').hide();
$('#STBAnswer_03').hide();
//$('#STBAnswer_04').hide();
for (i = 0; i < answerList.length; i++) {
$('#STBAnswer_0' + (i + 1)).attr('src', answerList[i]);
$('#STBAnswer_0' + (i + 1)).show();
}
}
function selectSTBAnswer(index) {
AnswerIndex = index + "";
console.log(AnswerIndex);
console.log(CorrectAnswers[random_QuestionIndex]);
//Conditional Answer Check; if answer is wrong, GameOver, else proceed to next Question
if (CorrectAnswers[random_QuestionIndex] != AnswerIndex) {
console.log("IncorrectAnswer");
$('#QnA').fadeOut({
duration: slideDuration,
queue: false
});
$('#GameOver').fadeIn({
duration: slideDuration,
queue: false
});
} else {
console.log("CorrectAnswer");
for (i = 0; i < 3; i++) {
$('#Question_List').fadeOut();
$('#STBAnswer_01').fadeOut();
$('#STBAnswer_02').fadeOut();
$('#STBAnswer_03').fadeOut();
}
}
}
<div id="QnA" align="center" style="position:absolute; height:1920px; width:1080px; background-repeat: no-repeat; z-index=1; top:0px; left:0px; ">
<div id="Question_List" style="position:absolute; z-index=99; width:900px; height:200px; top:50px; left:100px; font-size:45px; font-family:'HelveticaNeue'; color:#fff;"></div>
<img id="STBAnswer_01" style="z-index=99; position:absolute; top:250px; left:50px; border:0px;" onclick="selectSTBAnswer('1');">
<img id="STBAnswer_02" style="z-index=99; position:absolute; top:350px; left:50px; border:0px;" onclick="selectSTBAnswer('2');">
<img id="STBAnswer_03" style="z-index=99; position:absolute; top:450px; left:50px; border:0px;" onclick="selectSTBAnswer('3');">
</div>
<div id="GameOver" align="center" style="position:absolute; height:1920px; width:1080px; background-repeat: no-repeat; display: none; z-index=4; top:0px; left:0px; ">
GAME OVER
</div>
Я застрял в том, когда пользователь выбирает правильный ответ и не переходит к следующему вопросу, но застрял на currect 1 вопрос.
Пожалуйста, помогите. Благодарю.
, так что цикл for, который у меня есть, абсолютно избыточен – Luke
что это значит 'var myquiz = myquiz || {...}; '. Зачем вам это нужно? В чем разница между тем, который вы установили, и глобальной переменной, которую я установил? – Luke
Этот сегмент не заменяет старый, если он существует ранее. В этом случае нет большой сделки. –