[英]HTML5 Javascript, Updating a text using arrays
别介意我的代码,在专业人士看来,这很糟糕aha,但是无论如何,我正在编写一个游戏,用户必须用3个选项来回答一个问题,这个问题,这3个答案都设置在数组中[1] [10]。 我的问题是,当提出问题时,该问题不会在网站上更新。
<head>
<script type="text/javascript">
var Question = new Array(10);
var Answer1 = new Array(10);
var Answer2 = new Array(10);
var Answer3 = new Array(10);
var i = 1;
(example of one question)
Question[1] = "What time is it?";
Answer1[1] = "1.I dont know";
Answer2[1] = "2.Party Time";
Answer3[1] = "3.None of your business";
</script>
(my function that writes the questions/answers)
<script type="text/javascript">
function displayQuestions() {
document.write(Question[i].toString());
document.write("\n <br>" + Answer1[i].toString());
document.write("\n <br>" + Answer2[i].toString());
document.write("\n <br>" + Answer3[i].toString());
}
</script>
</head>
<body>
<div>My Question Game!</div>
<div id="Question"><script type="text/javascript">displayQuestions();</script></div>
<button onclick="answerGet()">Answer</button>
<script type="text/javascript">
function answerGet()
{
var answer = 0;
answer = parseInt(prompt("Please enter your answer (1 - 3) "));
if (answer < 4 && answer > 0) {
} else if (isNaN(answer)) {
parseInt(prompt("It is not a number. Please enter a number from 1 to 3", ""));
} else {
parseInt(prompt("Your number (" + answer + ") is above 3. Please enter a number from 1 to 3"));
if ((answer() === CorrectAnswer[i])) {
score = score + 50;
}
i = i + 1;
alert(i);
Question = Question[i];
Answer1 = Answer1[i];
Answer2 = Answer2[i];
Answer3 = Answer3[i];
CorrectAnswer = Correctanswer[i];
}
为了使您的程序更加流畅,您应该使用jquery。
如果要解决当前的问题,请在给出正确答案后尝试调用displayQuestions函数,如下所示:
Answer1 = Answer1[i];
Answer2 = Answer2[i];
Answer3 = Answer3[i];
CorrectAnswer = Correctanswer[i];
displayQuestions();
您的代码还不错。 您可以通过以下方式更新问题:
在您的answerGet()
函数中,将以下内容添加到if ((answer() === CorrectAnswer[i]))
块中
var question = document.getElementById('question');
question.innerHTML = displayQuestions();
这将从displayQuestions()
获取文本,并将其放入问题div中。 但是仍然存在问题, displayQuestions()
函数实际上会打印到屏幕上。 我们希望它返回文本,如下所示:
function displayQuestions() {
var text = Question[i].toString();
text += "\n <br>" + Answer1[i].toString())
text += "\n <br>" + Answer2[i].toString();
text += "\n <br>" + Answer3[i].toString();
return text;
}
现在是最后一个问题:打印第一个问题的代码现在是错误的,因为displayQuestions()
函数不打印任何内容,仅返回文本。 让我们修复一下:
<div id="Question"><script type="text/javascript">document.write(displayQuestions());</script><div>
那应该做。 如果您在执行该操作时遇到任何麻烦,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.