2

当数字达到 1000 时,它会添加逗号并变成 1,000,尽管一旦它实现了 ',它就会重置回 12 应该继续的地方。

这是我的 jsFiddle:http: //jsfiddle.net/m9cey/3/

var millisecs = 1000;
setInterval(function() {
    var $badge = $('#badge');
    var num = parseInt($badge.text())+11;
    $badge.text(num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","));
}, millisecs);

任何帮助都感激不尽。

干杯

4

3 回答 3

1

你听说过numerics.js 吗?

var string = numeral(1000).format('0,0');
// '1,000'
于 2013-08-14T23:25:00.173 回答
1

,值导致 parseInt 停止。所以parseInt('1,xxx')会给你 1 然后加上 11 得到 12 。

最简单的解决方案在 parseInt 之前删除逗号

var num = parseInt($badge.text().replace(',', ''))+11;

http://jsfiddle.net/m9cey/9/

于 2013-08-14T23:28:15.083 回答
1

只是发布我的评论作为答案:http: //jsfiddle.net/m9cey/10/

<span id="badge" data-value="900">900</span>

setInterval(function() {
    var $badge = $('#badge'),
        num = parseFloat($badge.data('value'));

    num += 11;

    $badge
        .data('value', num)
        .text(num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","));
}, millisecs);
于 2013-08-14T23:31:40.320 回答