2017-04-19 19 views
-5

私はこれについてオンラインで見つけることができたすべてを試しましたが、アニメーション番号ではなく静的数値を扱うように見えます。アニメーションカウント機能にカンマを追加する

が、それはこの機能を変更することで、これを使用して数が増加すると、私の値に加算コンマを持つことは可能ですか?

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

     $({ countNum: $this.text()}).animate({ 
      countNum: countTo 
     }, 

     { 

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

    }); 
+0

から持ち上げ

コンマコードだけでなく、あなたたちは今日、面白い男性と文法ナチスになりたいです。あなたはJavaScriptを読むことができますか?このスクリプトが0からhtmlデータ属性で定義された数まで数え上げることを理解していなければ、おそらく私の質問に答えることはできません。 – JSum

+1

@JSum、文法と明快さのための他のユーザーの質問を編集することは、SOの仕組みのよく確立された部分です。あなたの質問に答えることができないようにするには、とてもうれしい方法です(答える前にあなたのコメントを見た場合、私はあなたに手伝ってくれるでしょう) –

+0

私はここでたくさんの質問をしました。偶然の文法ミスに投票したことは初めてです。あなたは答えてくれました。 – JSum

答えて

2

現在、要素text()を設定している場合は、カンマを追加するだけです。 add commas to a number in jQuery

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

 
    $({ 
 
    countNum: $this.text() 
 
    }).animate({ 
 
     countNum: countTo 
 
    }, 
 

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

 
}); 
 

 
function commaSeparateNumber(val) { 
 
    while (/(\d+)(\d{3})/.test(val.toString())) { 
 
    val = val.toString().replace(/(\d+)(\d{3})/, '$1' + ',' + '$2'); 
 
    } 
 
    return val; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<span class="counter" data-count="1000000"></span>

関連する問題