好的,我在网页上的流行测验中提问。 这些问题是在循环中随机生成的,如下所示:
for(var ii=1;ii<=numQuestions;ii++){
var tempScore = askQuestion(difficulty)
}
askQuestion()基本上创建了一个问题和4个可能的答案(1是正确的)并将其放在网页上。唯一的问题是,在我甚至回答之前,它会进行所有迭代。有没有什么方法可以等到某个类被点击之后再进行下一次迭代?
编辑:我想更好的方式来说明这个问题是,我怎样才能使函数askQuestion()仅在点击按钮时完成并返回?
答案 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
}
});