我正在用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()' />
问题是什么?如何解决?
答案 0 :(得分:1)
您正在使用您的某个函数隐藏外部score
变量。此内部变量每次都重置为0
。
不是每次都解析得分,只需将其初始化一次:
var score = 0;
function addScore() {
score += 10;
document.getElementById("score").innerHTML=score;
}
答案 1 :(得分: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;
}
答案 2 :(得分:0)
您宣布得分Globally
和locally
。因此值不会更新
var score = 0;
function addScore() {
var test = parseInt(score);
score = parseInt(test) + 10;
document.getElementById("score").innerHTML=score; }