我有这个计数器,我需要它是小数(不是150000000,我想要150000000,00或至少150000000)。 我试着换了这个:
步骤:函数(){
$this.text(Math.floor(this.countNum));
}
用这个:
formatter: function (value, options) {
return value.toFixed(options.decimals);
}
。。。但没起作用。 我能做什么?
下面是我对此感兴趣的js和html的部分:
null
var a = 0;
$(window).scroll(function() {
var oTop = $('#counter').offset().top - window.outerHeight/2;
if (a == 0 && $(window).scrollTop() > oTop) {
euro.className = "testo one column hide"
$('.counter-value').each(function() {
var $this = $(this),
countTo = $this.attr('data-count');
$({
countNum: $this.text()
}).animate({
countNum: countTo
},
{
duration: 2000,
easing: 'swing',
step: function() {
$this.text(Math.floor(this.countNum));
},
complete: function() {
$this.text(this.countNum);
//alert('finished');
}
});
});
a = 1;
} else {
euro.className = "testo one column show"
}
});
<div id="counter" class="two columns counter-value" data-count="150000000">
</div>
null
toFixed是一个很好的方法,但是它只会照顾末尾的小数。 为了完成您所描述的内容,您可能需要使用number.ToLocaleString()。 因此您的格式化程序看起来像:
formatter: function(value, options) {
return value.toLocaleString(options);
}
您可以在下面的MDN文档中查看toLocaleString选项:
https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/number/tolocaleString
希望有帮助!