只有在点击某些内容时才进入下一次迭代

时间:2013-12-23 06:03:45

标签: javascript for-loop

好的,我在网页上的流行测验中提问。 这些问题是在循环中随机生成的,如下所示:

for(var ii=1;ii<=numQuestions;ii++){        
    var tempScore = askQuestion(difficulty)
}

askQuestion()基本上创建了一个问题和4个可能的答案(1是正确的)并将其放在网页上。唯一的问题是,在我甚至回答之前,它会进行所有迭代。有没有什么方法可以等到某个类被点击之后再进行下一次迭代?

编辑:我想更好的方式来说明这个问题是,我怎样才能使函数askQuestion()仅在点击按钮时完成并返回?

2 个答案:

答案 0 :(得分:1)

您可以使用简单的递归方法

function nextQuestion(i) {
    var tempScore = askQuestion(difficulty);
    if(i < numQuestions) {//do processing/wait for event
        document.querySelector(".xxx").addEventListener("click", function() {
            nextQuestion(i+1);
        });
    }
}

答案 1 :(得分:1)

var numQuestions = 10;

askQuestion(difficulty);

$('button').click(function() {

    numQuestions--;

    if (numQuestions > 0) {

        askQuestion(difficulty);

    } else {
        //all questions have been answered

    }
});