2

私は JavaScript の初心者です。変数と、その変数から 1 を加算またはマイナス 1 するための 2 つのボタンがあります。ただし、変数= 0がマイナスボタンを無効にすると、変数が0を下回らないようにしたいです。

<head>
    <script type="text/javascript">
        var a = 0;
        var add = function(valueToAdd) {
            a += valueToAdd;
            document.getElementById('Value').innerHTML = a;
        }
    </script>
</head>
<body>
    Value:<span id="Value">0</span>
    <button type="button" id = add onclick="javascript:add(1)">+</button>
    <button type="button" id = minus onclick="javascript:add(-1)">-</button>
</body>
4

5 に答える 5

2

何かのようなもの:

a = Math.max(0, a+valueToAdd); // prevents a from dropping below 0
document.getElementById('minus').disabled = !a; // disables the minus button if a = 0
于 2013-07-15T18:15:26.493 に答える
1

disabled次の属性を使用します。

var add = function(valueToAdd)
{
        document.getElementById('minus').disabled = (a+valueToAdd == 0);
        a += valueToAdd;
        document.getElementById('Value').innerHTML = a;
}
于 2013-07-15T18:13:34.397 に答える
1

disabledボタン要素の属性を使用できます。

var a = 0;
var add = function(valueToAdd) {
    a += valueToAdd;
    document.getElementById('Value').innerHTML = a;

    // Add this line, it will disable when a is 0
    document.getElementById("minus").disabled = (a==0);
}

ボタンのコードも更新する必要があります。javascript:ハンドラーは必須ではなく、id 属性は引用符で囲む必要があります。

<button type="button" id="add" onclick="add(1)">+</button>
<button type="button" id="minus" onclick="add(-1)" disabled="disabled">-</button>

disabled="disabled"初期値が0になるので、マイナスボタンにも を追加しました。

于 2013-07-15T18:13:42.533 に答える
1

最初: ID を引用符で囲み、インライン js を削除してください。

<button type="button" id="add">+</button>
<button type="button" id="minus">-</button>

次:

ボタン クリックのイベント ハンドラーを記述します。

var val = document.getElementById('Value');
var add = document.getElementById('add');
var subs = document.getElementById('minus');
var eventHandler = function(event) {
    var value = parseInt(val.innerText || val.innerHTML);
    if(this.id === 'add') { value++; }
    else if(this.id === 'minus') { value--;}
    val.innerHTML = value;
    if(value <= 0) {
        subs.disabled = true;
    }
    else {
        subs.disabled = false;
    }
};

次に、eventHandler をボタンにフックします。

add.onclick = eventHandler;
subs.onclick = eventHandler;

フィドルのデモ: http://jsfiddle.net/maniator/wevG4/

于 2013-07-15T18:14:20.130 に答える
1
<head>
<script type="text/javascript">
    var a = 0;
    var add = function(valueToAdd){
        a += valueToAdd;
        document.getElementById('Value').innerHTML = a;

        if(a == 0) {
            document.getElementById('minus').disabled = true;
        } else {
            document.getElementById('minus').disabled = false;
        }
    }    

</script>

</head>

<body>
    Value:<span id="Value">0</span>
    <button type="button" id = add onclick="javascript:add(1)">+</button>
    <button type="button" id = minus onclick="javascript:add(-1)">-</button>


</body>
于 2013-07-15T18:13:13.780 に答える