2014-06-30 47 views
1

理想的結果後:之後,用戶選擇一個答案,我想修改score變量: score += 1如果答案是正確的或者不改變在所有如果答案是錯的。
當前結果:對於用戶正在進行的每一種選擇,得分保持不變:0商店得分變量的事件

首先,我存儲將在question_paragraph中更改的段落以及用戶將在next_button中點擊的按鈕。此外,我還在user_answer中存儲了該值(我在數據表示法中使用數組表示法將每個輸入的屬性value - 0第一次,1秒等)。

var question_paragraph = document.getElementById('question'); 
var next_button = document.getElementById('next'); 
var i = 0; 
var user_answer = getCheckedValue(document.getElementsByName('choice')); 
var y = 0; 
var score = 0; 

如果存在getCheckedValue函數將返回我輸入的value屬性。

function getCheckedValue(radioObj) { 
    var radioLength = radioObj.length; 
    for(var z = 0; z < radioLength; z++) { 
     if(radioObj[z].checked) { 
      return radioObj[z].value; 
     } 
    } 
    return "Error!"; 
} 

這裏是問題。該功能工作正常,除了隔離區域。 allQuestion是我的對象,我存儲的問題,可能的答案和正確的答案,correctAnswer(我不包括它在這裏,但工作正常)。如果allQuestions[y].correctAnswer符合user_choice的值,我會附加條件語句以增加y和代碼>分數。

function changeQuestion() { 

    //PROBLEM 
    if(allQuestions[y].correctAnswer == user_answer){ 
    score += 1; 
    y++; 
    } else{y++;} 
    //PROBLEM 



    i = (i < allQuestions.length) ? (i + 1) : 0; 
    if (i == allQuestions.length) { 
     i = 0; 
     return question_paragraph.replaceChild(document.createTextNode(allQuestions[0].question), question_paragraph.firstChild); 
    } 
    var newNode = document.createTextNode(allQuestions[i].question); 
    console.log(score); 
    return question_paragraph.replaceChild(newNode, question_paragraph.firstChild); 
} 

Finnaly,我叫addHandler函數。

function addHandler(name, type, handler){ 
    if (name.addEventListener){ 
     name.addEventListener(type, handler, false); 
    } else if (name.attachEvent){ 
     name.attachEvent("on" + type, handler); 
    } else { 
     name["on" + type] = handler; 
    } 
} 

addHandler(next_button, 'click', changeQuestion); 
+0

你不應該指望了ÿ++;每次changeQuestion()被調用? –

+0

@johnSmith它這樣做;有條件的兩部分都有'y ++'。 – Pointy

+0

你怎麼知道它甚至試圖增加分數?你在'if'裏放了一個'console.log()'嗎? – Pointy

回答

0

那麼,到目前爲止,這裏看起來很有趣。首先,我沒有看到變量y的初始化。如果y是保留其值的全局變量,那麼您的對象可能存在問題:allQuestions {}。您能否提供構建對象的代碼allQuestions {}?沒有它,我認爲我不能完全回答這個問題,但我相信這是你的問題所在。

哎呀,這應該是一個評論,不是答案,對不起......

+0

我做了初始化,看看第一個block。問題是user_answer變量,因爲'getCheckedValue'只會被調用一次。 – Bacchus