在JS中多次减去值

时间:2016-12-24 00:47:37

标签: javascript

我有两个文本框。 Textbox one具有从变量获取的剩余hp。 Textbox 2有一个按钮,当你点击它时,它运行dmgNPC并从hp文本框中减去你输入到文本框中的伤害。

我的问题是如何让JS从剩余的hp文本框中显示的新值中减去?

var hp = 10;

function dmgNPC(hp) {
    var damage = document.getElementById("damage").value;
    var theDMG = hp - damage;

    return document.getElementById("remaining").value = theDMG;
}
<label for="damage">Damage to NPC</label>
<input type="text" id="damage">
<button type="button" onclick="dmgNPC(hp);">Enter Damage</button>
<br/>
<label for="remaining">Remaining Health</label>
<input type="text" id="remaining">

2 个答案:

答案 0 :(得分:3)

你想要这样的东西

var hp = 10;

function dmgNPC() {
    var damage = document.getElementById("damage").value;
    hp -= damage;
    document.getElementById("remaining").value = hp;
}
<label for="damage">Damage to NPC</label>
<input type="text" id="damage">
<button type="button" onclick="dmgNPC();">Enter Damage</button>
<br/>
<label for="remaining">Remaining Health</label>
<input type="text" id="remaining">

答案 1 :(得分:0)

杰弗里让我看看我是否理解这一点。你想在开始时减去10,但是从剩下的值中减去,这样你就可以减少到0健康状态?如果是这样的话,那就是我为此写的JS。

var hp = 10;

function dmgNPC(hp) {
    if(document.getElementById("remaining").value){
        var damage = document.getElementById("damage").value;
        var theDMG = document.getElementById("remaining").value - damage;
    }else{
        var damage = document.getElementById("damage").value;
        var theDMG = hp - damage;

    }



    document.getElementById("remaining").value = theDMG;
}