与逗号的Jquery计数器

时间:2015-10-03 13:44:03

标签: javascript jquery counter comma jquery-waypoints

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

我在下面使用的jquery计数器使用仅包含数字(即8000)的元素。但是我被要求使用","作为分隔符,如8,000。这会抛出脚本。我已经设法使用一个函数(commaSeparateNumber)在计数器运行时打印一个逗号(即8000变为8,000),这很好,除非当javascript不可用且后退仍然没有& #39;&#39 ;.

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

任何想法都表示赞赏。代码如下。谢谢!

<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+)(\d{3})/.test(val.toString())) {
                        val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
                    };
                    return val;
                }
                this.destroy();
            }, {
                offset: '95%'
            });
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

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

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

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

以上代码将删除逗号。