我得到了这个简单的函数来计算点击次数(加或减)。它工作正常。
事实是负值出现在它们前面的减号(例如-3
),但对于正值则不一样。
有没有办法让积极的结果在开头显示加号(例如。+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>
&#13;
答案 0 :(得分:4)
要实现此目的,您只需检查该值是否为> 0
,如果是,则为其添加+
。
另请注意,您可以使用按钮上的data
属性来干扰代码,以指定要递增的值。这意味着您可以在两个按钮上使用单个事件处理程序,如下所示:
$('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>
答案 1 :(得分: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>