gpt4 book ai didi

javascript - 如何正确使用document.getElementById()?

转载 作者:行者123 更新时间:2023-11-28 12:24:59 26 4
gpt4 key购买 nike

也许我没有理解这一点,或者我只是写错了。我正在制作一个增量游戏,并试图计算出总 DPS,然后我可以更改黄金的生成方式

这是我尝试使用该函数的 HTML 行。

    Total DPS:<span id="dps">0</span>

这是 JavaScript

function dps(){
dps = aadmg + daggerdmg + sworddmg;
document.getElementById("dps").innerHTML = dps;
};

function damageClick(number){
damage = damage + number;
document.getElementById("damage").innerHTML = damage;
gold =gold +1;
document.getElementById("gold").innerHTML = gold;
xp = damage * 2;
document.getElementById("xp").innerHTML = xp;
};

var aadmg = 0;

function buyAA(){
var aaCost = Math.floor(10 * Math.pow(1.1,aadmg));
if(gold >= aaCost){
aadmg = aadmg + 1;
gold = gold - aaCost;
document.getElementById("aadmg").innerHTML = aadmg;
document.getElementById("gold").innerHTML = gold;
};
var nextCost = Math.floor(10 * Math.pow(1.1,aadmg));
document.getElementById('aaCost').innerHTML = nextCost;
};


function buyDagger(){
var daggerCost = Math.floor(300 * Math.pow(1.1,daggerdmg));
if(gold >= daggerCost){
daggerdmg = daggerdmg + 5;
gold = gold - daggerCost;
document.getElementById("daggerdmg").innerHTML = daggerdmg;
document.getElementById("gold").innerHTML = gold;
};
var nextCost = Math.floor(300 * Math.pow(1.1,daggerdmg));
document.getElementById('daggerCost').innerHTML = nextCost;
};
var sworddmg = 0;

function buySword(){
var swordCost = Math.floor(500 * Math.pow(1.1,sworddmg));
if(gold >= swordCost){
sworddmg = sworddmg + 7;
gold = gold - swordCost;
document.getElementById("sworddmg").innerHTML = sworddmg;
document.getElementById("gold").innerHTML = gold;
};
var nextCost = Math.floor(500 * Math.pow(1.1,sworddmg));
document.getElementById('swordCost').innerHTML = nextCost;
};

我的想法是,我在 html 中使用了 dps 函数,那么它应该等于 aadmg + daggerdmg + Sworddmg。我使用 document.getElementByID("dps").innerHTML = dps; 获取元素 dps。我还尝试为所有 dmg 添加 getElement 。我对如何从 HTML 获取这些数字然后将它们添加在一起并显示它们感到困惑。

最佳答案

你有自杀功能。当您调用 dps 函数一次后,它将用您计算的值替换自身。下次您尝试调用它时,dps 标识符不再指向该函数,因此代码将会崩溃。

在函数中使用不同的变量(并使用 var 关键字将其设置为本地变量):

function dps(){
var x = aadmg + daggerdmg + sworddmg;
document.getElementById("dps").innerHTML = x;
};

(只要使其成为本地变量就可以了,但是没有充分的理由使用与函数同名的本地变量。)

关于javascript - 如何正确使用document.getElementById()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30270314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com