由于某种原因,它没有采用正常的平衡(1000-950(,而是通过while循环从1000变为0。我不希望refBalance小于0。(numDebit2((return 50(
<div class="elements" id="txtbalance">1000</div>
<div class="elements" id="txtdebit">0</div>
<button class="button1" id="buttonNewHand" onclick="drawFaceTot()">new<br>hand</button>
refDebit = document.getElementById("txtdebit");
refBalance = document.getElementById("txtbalance");
function numBalance(debit){
var nBalance = parseInt(refBalance.innerText, 10);
nBalance = nBalance - debit;
refBalance.innerHTML = nBalance;
}
//I didn't want the refBalance to be less than 0.
function drawFaceTot(){
while (refBalance.innerHTML > 0) {
numBalance(numDebit2());
}
}
您可能混淆了循环(while
(和一次性条件if
。这里有一个例子,如果余额为正,只从余额中减去借方:
const refBalance = document.getElementById("txtbalance");
function numDebit2() {
// do something here
// returns 50 as per the question description
return 50;
}
function numBalance(debit) {
const nBalance = parseInt(refBalance.innerText, 10);
refBalance.innerHTML = nBalance - debit;
}
function drawFaceTot() {
if (refBalance.innerHTML > 0) {
numBalance(numDebit2());
}
}
<div class="elements" id="txtbalance">1000</div>
<button class="button1" id="buttonNewHand" onclick="drawFaceTot()">new<br>hand</button>
请注意,这不会检查借方是否大于余额,因此您最终仍可能出现负余额