带逗号的 Jquery 计数器

Posted

技术标签:

【中文标题】带逗号的 Jquery 计数器【英文标题】:Jquery counter with Commas 【发布时间】:2015-10-03 13:44:02 【问题描述】:

我一直在尝试让计数器与动画中的航点一起工作。

我在下面使用的 jquery 计数器对仅包含数字(即 8000)的元素具有吸引力。但是,我被要求使用“,”作为分隔符,如 8,000。这会将脚本抛出。我设法使用一个函数(commaSeparateNumber)在计数器运行时向元素打印一个逗号(即 8000 变为 8,000),这很好,除非 javascript 不可用并且回退仍然没有',' .

因此,我需要一些帮助,首先从目标元素中删除逗号,然后运行计数器以及将其放回元素的当前函数。这将涵盖我的任何后备。

任何想法都值得赞赏。代码如下。谢谢!

<script type="text/javascript">
    $(document).ready(function () 

        $('.Count').each(function () 

            $(this).waypoint(function () 
                var $this = $(this.element);
                jQuery(Counter: 0).animate(Counter: $this.text(), 
                    delay: 5000,
                    duration: 2000,
                    easing: 'swing',
                    step: function () 
                        $this.text(commaSeparateNumber(Math.ceil(this.Counter)));
                    
                );

                function commaSeparateNumber(val) 
                    while (/(\d+)(\d3)/.test(val.toString())) 
                        val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
                    ;
                    return val;
                
                this.destroy();
            , 
                offset: '95%'
            );
        );
    );
</script>

【问题讨论】:

将数字存储在数据属性中。将文本和显示数字分开 【参考方案1】:

我不知道你的代码到底在做什么,所以我只能建议你如何删除逗号:

 var number = "8,000";
 number = parseInt(number.split(',').join(''),10);

var number='8,000';
a=a.replace(/\,/g,'');
a=parseInt(a,10)

上面的代码会去掉逗号。

【讨论】:

以上是关于带逗号的 Jquery 计数器的主要内容,如果未能解决你的问题,请参考以下文章

带Jquery的实时字符计数表

滚动上的动画计数器[重复]

我如何在这个计数器脚本的 1000 中添加一个逗号 [重复]

在动画计数功能中添加逗号

获取用逗号分隔的值的计数[重复]

将逗号添加到 javascript 计数计时器