2013-12-23 80 views
0

好吧,我在我的網頁上的流行測驗中詢問問題。 的問題是在一個循環中那種看起來像這樣的隨機生成:只有當點擊某物時纔會轉到下一個迭代

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

askQuestion()基本上創建了一個問題,4分可能的答案(1是正確的),並把它在網頁上。唯一的事情是,它甚至可以回答所有的迭代。在繼續下一次迭代之前,有什麼方法可以等到某個類被點擊?

編輯:我想更好的方式來說明這個問題是,我怎樣才能使函數askQuestion()只完成並返回時單擊一個按鈕?

回答

1
var numQuestions = 10; 

askQuestion(difficulty); 

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

    numQuestions--; 

    if (numQuestions > 0) { 

     askQuestion(difficulty); 

    } else { 
     //all questions have been answered 

    } 
}); 
+0

OU重新創建我喜歡這個,不適合循環 –

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); 
     }); 
    } 
} 
+0

這裏有問題,的addEventListener將被稱爲多發時期,如果按鈕沒有用「askQuestion」 – Andrew

+0

@Andrew好點啊 – megawac

相關問題