我想做一個for循環在JavaScript與變量來指定增量。 以下函數使用DIV的先前值(oldVal)和其已更改爲(newVal)的值來更改另一個DIV中顯示的總數(curtot)。JavaScript的循環沒有結束
function spinctrltotaling(sender, newVal) {
var curtot = Number(document.getElementById("totaling").innerHTML);
console.log(curtot);
var transtot = 0;
var ld = "";
var oldVal = sender.GetOldValue();
console.log(oldVal);
if (newVal - oldVal >= 0) {
ld = "i=i+1";
} else {
ld = "i=i-1";
}
;
console.log(ld);
for (i = oldVal; i <= newVal; ld) {
console.log(i);
if (i <= 0 & ld == "i=i+1") {
transtot = transtot - (i + 1);
console.log("i <= 0");
} else if (i < 0 & ld == "i=i+1") {
transtot = transtot + i;
console.log("i < 0");
} else if (i >= 0 & ld == "i=i+1") {
transtot = transtot - (i - 1);
console.log("i >= 0");
} else {
transtot = transtot + i;
console.log("else");
}
}
;
if (curtot - transtot < 0) {
sender.SetCurrentValue = oldVal;
} else {
document.getElementById("totaling").innerHTML = transtot;
document.getElementById("debuging").innerHTML = "curtot=" + curtot
+ " oldVal=" + oldVal + " newVal=" + newVal
+ " transtot=" + transtot;
}
;
}
控制檯結果:
0
0
"i=i+1"
0
"i <= 0"
1
"i >= 0"
這裏有兩個問題:
- 的IF ELSE顯示了三個控制檯,而不是一個我期待的四種可能的結果。
- 循環不會結束,即使應該只循環一次。
我知道我犯了一個愚蠢的錯誤,但看不到它。
謝謝。然後每個循環將有一個IF ELSE而不是四個。 –