因此,当我使用我的技能时,它会从总法术力中吸收10点法力,然后将50点总值加到cookie中,但是如果我再次使用该技能,它将持续吸收法术力。我已经设置好了,所以cookie不会增加,但是我的魔力却持续下降。我如何防止值变成负数。

我还没有尝试过很多不知道如何预防

这是我的Javascript代码:

function Bigclick() {
        if (ManaPoints >= 10)
        if (rebirths >=1)
        cookies = cookies + 50
        ManaPoints = ManaPoints - 10;
        document.getElementById('cookies').innerHTML = cookies;
        document.getElementById("ManaPoints").innerHTML = ManaPoints;
        checkCursor()
}


我希望如果im低于10点法力或0点法力,则该功能不执行任何操作。但实际输出的法力值持续下降http://prntscr.com/ns2d0m

最佳答案

这些if仅适用于cookies = cookies + 50。您需要打开一个块并包装取决于这些条件的所有计算,例如:

function Bigclick() {
    if (ManaPoints >= 10 && rebirths >=1) {
        cookies = cookies + 50
        ManaPoints = ManaPoints - 10;
        document.getElementById('cookies').innerHTML = cookies;
        document.getElementById("ManaPoints").innerHTML = ManaPoints;
    }
    checkCursor()
}


不确定上面的代码是否正是您所需要的,仅是示例。

最初情况如何令人担忧的另一个示例:



var truthy = false;

if (truthy)
if (!!truthy)
console.log("truthy");
console.log("not truthy");





更新:



let button = document.getElementById("use-mana"),
    manaQty = document.getElementById("mana-qty");

const manaCost = 10;

button.addEventListener("click", () =>
{
  let qty = Number(manaQty.innerText);

  if (qty >= manaCost)
  {
    qty-= manaCost;
    manaQty.innerText = qty;
  }
  else
  {
    window.alert("Not enough mana!");
  }
});

<div id="mana-qty">29</div>
<button id="use-mana">Use Mana</button>

10-06 02:42