0

自从我上次做 JavaScript 以来已经有一段时间了,但是学校强迫我们进入一个 JavaScript 项目。所以我在这里,做一个简单的问答游戏。相处得很好,但我遇到的问题可能非常简单。

var useranswers = new Array();
var imgArray = new Array();
var answered = 0;
var currentQuestion = 0;

function renderQuizViaArray() 
{
    document.writeln('<h1>' + questions[currentQuestion] + '</h1>');

    for(i=0; i < choices[currentQuestion].length; i++)
    {
        document.writeln('<input type="radio" name="answer_' + currentQuestion + '" value="1" id="answer_' + currentQuestion + '_' + i + '" class="question_' + currentQuestion + '" onclick="submitAnswer(' + currentQuestion + ', this, \'question_' + currentQuestion + '\', \'label_' + currentQuestion + '_' + i + '\')" /><label id="label_' + currentQuestion + '_' + i + '" for="answer_' + currentQuestion + '_' + i + '"> ' + choices[currentQuestion][i] + '</label><br />');
    }

    document.write('<input type="submit" value="NEXT" onclick="nextQuestion()" />');
}

function nextQuestion()
{
    currentQuestion++;
    renderQuizViaArray();
}

每当我单击“NEXT”按钮时,它都会从一个数组中加载第二个问题(元素 [1])以及另一个数组的答案到屏幕上。但页面仍处于无限加载状态,Firebug 给出消息:“重新加载以激活窗口控制台”

任何人?

4

2 回答 2

0

我可能已经找到了问题,但不知道如何解决它。

一旦我单击“NEXT”按钮,它就会执行函数 renderQuizViaArray();。这就是它完全搞砸的地方..我错过了什么吗?

我基本上想要的是,当前显示的文本会使用下一个问题的数据(包括答案​​)进行更新。

这些是它包含的文件: quiz.html:http ://rapidimg.org/server/files/50ab9c326115cKAUf6S.png ........ quiz_questions.js:http ://rapidimg.org/server/files/ 50ab9c536ed44UWhV54.png ......... quiz_functions.js:显示在主帖中

于 2012-11-21T08:32:36.323 回答
-1

不要使用

for(i=0; i < choices[currentQuestion].length; i++)

利用

for(i=0, j=choices[currentQuestion].length; i < j; i++)
于 2012-11-20T09:07:59.203 回答