当数字达到1000时,它会添加逗号并变为1000,尽管它实现了','它然后重新设置为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);
非常感谢任何帮助。
干杯
答案 0 :(得分:2)
值中的,
导致parseInt停止。所以parseInt('1,xxx')
会给你一个然后加11,你得到12。
最简单的解决方案在parseInt之前删除逗号
var num = parseInt($badge.text().replace(',', ''))+11;
答案 1 :(得分:1)
您听说过numerals.js?
吗?var string = numeral(1000).format('0,0');
// '1,000'
答案 2 :(得分: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);