我是一名JavaScript学习者,正在努力为我的孩子(5至10岁)设计一款小型javascript游戏,该游戏中的分数是根据经过的时间得出的。但是,我无法找出一种总分的方法。我已经管理了以下代码,但结果不准确。程序可能会在每次点击时将阵列中的所有项目总计在一起。有人可以帮忙吗?我是新手,这里将有很多错误或荒谬之处,我要求您在纠正我的过程中礼貌地提供帮助。任何帮助表示赞赏。
document.getElementById("box1").onclick = function() {
clickT = Date.now();
reactT = (clickT - createdT) / 1000; //gets the time difference for reaction.
points = reactT * 1000;
points = 2000 - points;
pRecord.push(points); //add points to array.
for (i = 0; i < pRecord.length; i++) {
totalpoints += pRecord[i];
}
document.getElementById("time").innerHTML = reactT;
this.style.display = "none";
document.getElementById("score").innerHTML = totalpoints;
}
最佳答案
求和之前,只需将totalpoints
设置为零即可:
document.getElementById("box1").onclick = function() {
var clickT = Date.now();
var reactT = (clickT - createdT) / 1000; //gets the time difference for reaction.
var points = reactT * 1000;
points = 2000 - points;
pRecord.push(points); //add points to array.
var totalpoints = 0;
for (var i = 0; i < pRecord.length; i++){
totalpoints += pRecord[i];
}
document.getElementById("time").innerHTML = reactT;
this.style.display = "none";
document.getElementById("score").innerHTML = totalpoints;
}
而且我也不知道您是否在外部范围中定义了变量,但是我想您没有,因此我在每次创建变量之前都添加了
var
。