因此,当我使用我的技能时,它会从总法术力中消耗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
答案 0 :(得分:3)
这些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>
答案 1 :(得分:1)
通常-如果要避免数字在减法后变为负数,则必须检查如果减去特定值,该数字是否小于0。如果将其设置为零,则不减去所需的数量。
if (ManaPoints - 10 < 0) {
ManaPoints = 0;
} else {
ManaPoints -= 10;
}