2013-05-18 23 views
1

我正在使用JavaScript和HTML製作在線遊戲(非常簡單,這是我的第一個)。它工作正常,但有一個大問題。我希望每當一個特定的圖像被點擊時,10被添加到變量分數的值。下面是我使用的代碼:
「分數」變量不變

var score = 0; 
function addScore() { 
var test = parseInt(score); 
var score = parseInt(test) + 10; 
document.getElementById("score").innerHTML=score; } 

而且我希望有功能的圖像:

<img src='mole.png' alt='mole' onclick='addScore()' /> 

什麼問題,如何解決?

回答

1

你可以少讓你的生活通過更改此更簡單:

1. Don't use the same varibale name in globally & locally. 
2. Removing the `parseInt()` method as score is already an Integer. 

所以你的最終腳本想成爲:

var score = 0; 
function addScore() { 
    score += 10; 
    document.getElementById("score").innerHTML=score; 
} 
+0

你和@dystroy都提到了相同的答案,並且都是正確的。我想因爲你的解釋更詳細一些,我會標記你的答案。 – NSDCars5

1

您正在使用您的某個函數遮蔽外部變量score。這個內部變量每次重置爲0

,而不必每次解析得分,只需將其初始化一次:

var score = 0; 
function addScore() { 
    score += 10; 
    document.getElementById("score").innerHTML=score; 
} 
0

你宣佈得分Globallylocally。所以值未更新

var score = 0; 
function addScore() { 
var test = parseInt(score); 
score = parseInt(test) + 10; 
document.getElementById("score").innerHTML=score; }