2017-09-01 6 views
1

クリック数(プラスまたはマイナス)をカウントするこの単純な関数があります。それは正しく動作します。 実際、負の値はマイナス記号(たとえば、-3)の前に表示されますが、正の値では同じではありません。プラス/マイナスカウンタープラスの結果(jquery)

肯定的な結果を得る方法は、最初にプラス記号(例:+3)を表示する方法はありますか?

$('#increase').click(function() { 
 
    $('#output').html(function(i, val) { 
 
    return val * 1 + 1 
 
    }); 
 
}); 
 

 
$('#decrease').click(function() { 
 
    $('#output').html(function(i, val) { 
 
    return val * 1 - 1 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="increase" type="button">+</button> 
 
<button id="decrease" type="button">-</button> 
 
<div id="output">10</div>

答えて

0

$('#increase').click(function() { 
 
    $('#output').html(function(i, val) { 
     if (val < 11) { 
 
      var ret = val * 1 + 1; 
     } 
 
     return ret > 0 ? "+" + ret : ret; 
 
    }); 
 
}); 
 
$('#decrease').click(function() { 
 
    $('#output').html(function(i, val) { 
     if(val > -11) { 
 
      var ret = val * 1 - 1; 
     } 
 
     return ret > 0 ? "+" + ret : ret; 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="increase" type="button">+</button> 
 
<button id="decrease" type="button">-</button> 
 
<div id="output">+10</div>

+1

'のvar RET =ヴァル* 1 + 1は、' 'べきであるのvar RET =ヴァル* 1 - 1;減少関数で。また、陽性の場合は "+"を維持するために、10ではなく+10で始めることを推奨します。 –

+0

ありがとう、編集されました! –

+0

こんにちは、ありがとうございます、カウンタに最大量を設定することは可能でしょうか?私は+11と11の下でカウントを停止する必要があります(それは-11と+11の間でのみ動作する必要があります) –

3

これを達成するためには、単に値が> 0であるかどうかを確認し、その場合は、それに+を付加することができます。

ボタンのdata属性を使用して増分する値を指定してコードをDRYすることもできます。これは、このように、両方のボタンの上に単一のイベントハンドラを使用できることを意味します:

$('button').click(function() { 
 
    var $btn = $(this); 
 
    $('#output').html(function(i, val) { 
 
    val = val * 1 + $btn.data('inc'); 
 
    return (val <= 0 ? '' : '+') + val; 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="increase" type="button" data-inc="1">+</button> 
 
<button id="decrease" type="button" data-inc="-1">-</button> 
 
<div id="output">+10</div>

+0

これは0で "+0"戻り値を生成します。 "0"をもう一度チェックする必要があります。 –

+0

True、 '<= 'で固定しました –

+0

こんにちは、ありがとう、カウンターに最大量を設定することは可能でしょうか? 11歳以上11歳未満の人数をカウントダウンする必要があります(-11から+11の間でのみ動作する必要があります) –