Отсчет. js конечный номер без запятой - PullRequest
0 голосов
/ 13 января 2020

Я javascript нуб, без вопросов.

У меня JQuery CountUp на моем экране и просмотрел некоторые из этих форумов. Счетчик показывает запятую при подсчете, но окончательное число (102 050) все еще не показывает запятую (10 2050)

какие-либо указатели? вот код, как сейчас сидит ...

$('.counter').each(function() {
  const $this   = $(this) 
  const countTo = $this.attr('data-count')

  $({ countNum: $this.text()}).animate({ countNum: countTo },
    {
      duration: 1500,
      easing:'linear',
      step: function() {
        $this.text(Math.floor(this.countNum).toLocaleString('en'));
      },
      complete: function (now) {
        now = Number(Math.ceil(now)).toLocaleString('en');
        $(this).text(now);
        $this.text(this.countNum).toLocaleString('en');
      }
    }
  );
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="counter" data-count="102050">1</div>

1 Ответ

0 голосов
/ 13 января 2020

Просто позвоните .toLocaleString('en') на this.countNum, а не на $this.text(...).
Также вам действительно нужна только одна строка кода в complete обратном вызове

$('.counter').each(function() {
  const $this   = $(this) 
  const countTo = $this.attr('data-count')

  $({ countNum: $this.text()}).animate({ countNum: countTo },
    {
      duration: 3500,
      easing:'linear',
      step: function() {
        $this.text(Math.floor(this.countNum).toLocaleString('en'));
      },
      complete: function() {
        $this.text(this.countNum.toLocaleString('en'));
      }
    }
  );
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="counter" data-count="102050">1</div>
...