私のコードは数値を1ずつ増やします。問題はグローバル変数である「testNum」が上下の増分を反映するはずですが、コンソールで「testNum」の値をチェックすると常に20です。「testNum」に合格します。 "私の関数に返してください。なぜそれは増分を反映していないのですか?
フィドル: http: //jsfiddle.net/FnUXw/1/
<input type="button" id="btnDown" value="-">
<span id="amountDiv">amount div</span>
<input type="button" id="btnUp" value="+">
<script>
var testNum = 20;
amountDiv.innerHTML = testNum;
function makeButtonIncrement(button, upDown, displayDiv, variable) {
function changeValue () {
if (upDown == "up") {
variable++;
}
if (upDown == "down") {
variable--;
}
displayDiv.innerHTML = variable;
}
button.onclick = changeValue;
return variable;
}
makeButtonIncrement(document.getElementById('btnDown'), "down", document.getElementById('amountDiv'), testNum);
makeButtonIncrement(document.getElementById('btnUp'), "up", document.getElementById('amountDiv'), testNum);
</script>