Javascript 带千位分隔符的JS计数编号

Javascript 带千位分隔符的JS计数编号,javascript,jquery,html,count,Javascript,Jquery,Html,Count,这是我计算最终数字的脚本(见html)。 我想做的是添加一个千位分隔符。因为它是我的代码将计数的数字从0到例如100000,但它会显示:“100000”这看起来不好 PS:我尝试过toLocalString(),但它在我的代码中不起作用,或者我没有正确地使用它。问题是,在设置计数动画时,它不会显示千位分隔符 JS <script> var a = 0; $(window).scroll(function() {

这是我计算最终数字的脚本(见html)。 我想做的是添加一个千位分隔符。因为它是我的代码将计数的数字从0到例如100000,但它会显示:“100000”这看起来不好

PS:我尝试过toLocalString(),但它在我的代码中不起作用,或者我没有正确地使用它。问题是,在设置计数动画时,它不会显示千位分隔符

JS

<script>
            var a = 0;
            $(window).scroll(function() {

              var oTop = $('#counter').offset().top - window.innerHeight;
              if (a == 0 && $(window).scrollTop() > oTop) {
                $('.counter-value').each(function() {
                  var $this = $(this),
                    countTo = $this.attr('data-count');
                  $({
                    countNum: $this.text()
                  }).animate({
                      countNum: countTo
                    },

                    {

                      duration: 5000,
                      easing: 'swing',
                      step: function() {
                        $this.text(Math.floor(this.countNum));
                      },
                      complete: function() {
                        $this.text(this.countNum);
                        //alert('finished');
                      }

                    });
                });
                a = 1;
              }

            });
        </script>

var a=0;
$(窗口)。滚动(函数(){
var oTop=$('#counter').offset().top-window.innerHeight;
if(a==0&&$(window.scrollTop()>oTop){
$('.counter value')。每个(函数(){
变量$this=$(this),
countTo=$this.attr('data-count');
$({
countNum:$this.text()
}).制作动画({
countNum:countTo
},
{
持续时间:5000,
放松:"摇摆",,
步骤:函数(){
$this.text(Math.floor(this.countNum));
},
完成:函数(){
$this.text(this.countNum);
//警报(“完成”);
}
});
});
a=1;
}
});
HTML

<div class="counter-value" data-count="100000">0</div>
0

有时候答案就在眼前

                  step: function() {
                    $this.text(Math.floor(this.countNum).toLocaleString());
                  },
                  complete: function() {
                    $this.text(Number(this.countNum).toLocaleString());;
                    //alert('finished');

我需要把所有的功劳都归功于@PatrickEvans。多谢各位

不要使用div,而是使用适合您的元素:

标记目的


存储当前偏移值:0100000

显示格式化为的
的值

当用户滚动时,侦听和一个合成
输入事件

演示中评论的详细信息

演示
*{
保证金:0;
填充:0
}
html,
身体{
溢出x:隐藏;
字体:600 16px/1.5控制台;
宽度:100%;
身高:100%;
显示:表格;
保证金:0自动;
}
#倒计时{
位置:相对位置;
宽度:96vw;
高度:12600ch;
溢出x:隐藏;
溢出y:滚动;
边际上限:50vh;
z指数:-1;
}
/*输入被隐藏,因为它无法保留数字文本
如果是type='range',则使用逗号。我不想把它当作一个
type='text',因为它需要更多的验证工作*/
#柜台{
显示:无
}
#设置{
位置:固定;
宽度:15%;
高度:96vh;
z指数:1;
顶部:2vh;
文本对齐:居中;
}
#反视图{
显示:块;
保证金顶部:计算(50vh-8px);
}

100,000
var a=0;
$(文档)。滚动(函数(){
/*标签#0。标记是视口顶部的固定位置
||形式#倒计时为12596ch high=window.innerHeight
*/
var oTop=$('#set').offset().top+window.innerHeight;
//随着视口顶部之间的距离减小。。。
如果($(窗口).scrollTop()<(oTop)){
//表单触发一个输入事件
$('#倒计时')。触发器('输入');
//输入记录距离
$(#counter').val(100315-数学圆整(oTop));
}
});
//表单已绑定到输入事件
$('#倒计时')。关于('输入',函数(e){
//创建一个特殊的内置对象
变量逗号=新的国际编号格式(“us-us”);
//获取输入值并将其转换为数字
var c=数字($('#计数器').val();
//输出值=输入值
var cV=数字($('#counterView').val());
//在输出中显示格式化的值
$('#counterView').val(逗号格式(c));
});

您是如何使用toLocaleString()的<代码>$this.text(数字(this.countNum.toLocaleString())?如果您尝试使用
this.countNum.tolocalstring()
将不起作用,因为
countNum
是一个字符串,
string\tolocalstring()
的作用与
Number\tolocalstring()
看看这里:@PatrickEvans Yes。最后的数字将用分隔符显示,但不是在动画制作时显示,这是我的目标。你在步骤回调中也这样做了吗?你是对的!!!