javascript - jQuery 多个加/减计数器

标签 javascript jquery html css

我想在我的页面上有多个加/减计数器。

我有一个工作计数器,但想让它通用,以便多个计数器可以有不同的初始值,并随着点击而增加和减少。

$('.counter-btn').click(function(e) {
    e.preventDefault();
    var $btn = $(this);
    $('.output').html(function(i, val) {
        val = val * 1 + $btn.data('inc');
        return (val <= 0 ? '' : '+') + val;
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="counter-btn" id="increase1" type="button" data-inc="1">+</button>
<button class="counter-btn" id="decrease1" type="button" data-inc="-1">-</button>
<div class="output">+30</div>

<hr />


<button class="counter-btn" id="increase1" type="button" data-inc="1">+</button>
<button class="counter-btn" id="decrease1" type="button" data-inc="-1">-</button>
<div class="output">+30</div>

fiddle 链接: http://jsfiddle.net/u2Lh7dbp/

谢谢

最佳答案

每个输出元素都应该是唯一的,这样它就可以被自己调用。

$('.counter-btn').click(function(e) {
        e.preventDefault();
        var $btn = $(this);
        $('#output-' + $btn.data('index')).html(function(i, val) {
            val = val * 1 + $btn.data('inc');
            return (val <= 0 ? '' : '+') + val;
        });
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="counter-btn" id="increase1" type="button" data-index="1" data-inc="1">+</button>
<button class="counter-btn" id="decrease1" type="button" data-index="1" data-inc="-1">-</button>
<div class="output" id="output-1">+30</div>

<hr />

<button class="counter-btn" id="increase2" type="button" data-index="2" data-inc="1">+</button>
<button class="counter-btn" id="decrease2" type="button" data-index="2" data-inc="-1">-</button>
<div class="output" id="output-2">+30</div>

我添加了一个新的数据属性:index。您可以使用该索引通过其 ID 指定您要查找的确切输出元素。

关于javascript - jQuery 多个加/减计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53806194/

相关文章:

javascript - 为什么单击按钮时不出现语言翻译表?

php - 支持 Expression Engine 2 中带有 GET 参数(查询字符串)的 URL?

javascript - 我如何始终从 API 调用中选择最后一个 JSON 对象?

javascript - 带有 Jquery 的 Foreach 语句

javascript - 无法使用 $.Deferred() 对象和 $.then() 中断递归

javascript - jQuery : how to hide div after animation?

javascript - 为什么 window.open 在 setTimeout <= 1000ms 时不会被阻塞?

jquery - knockout : Toggle table visibility inside foreach div

javascript - JS/JQuery : Value from select OR from text input

javascript - 单击调整图像大小