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

私のコメントを回答として投稿するだけです: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 に答える
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 に答える