2017-01-09 2 views
-1

これらの数字は機能していますが、文字 "T"は表示されないように置き換えられています。皆さんは、それをどうやって稼働させるか考えていますか?どうもありがとうございました。Jquery number counterは文字列で結合します

function commaSeparateNumber(val){ 
 
    while (/(\d+)(\d{3})/.test(val.toString())){ 
 
    val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); 
 
    } 
 
    return val; 
 
} 
 

 
$('.number').each(function() { 
 
    $(this).prop('Counter',0).animate({ 
 
     Counter: $(this).text() 
 
    }, { 
 
     duration: 8000, 
 
     easing: 'swing', 
 
     step: function (now) { 
 
      $(this).text(commaSeparateNumber(Math.ceil(now))); 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-md-4"> 
 
<div class="count"><div class="number">30</div></div> 
 
<div class="text">text 1</div> 
 
</div> 
 
<div class="col-md-4"> 
 
<div class="count"><div class="number">3000</div></div> 
 
<div class="text">text 2</div> 
 
</div> 
 
<div class="col-md-4"> 
 
<div class="count"><div class="number">700<span>T</span></div></div> 
 
<div class="text">text 3</div>

+0

あなただけdiv.numberの「T」、外部とのスパンを移動しようとしているのですか? – happymacarts

+0

私はそれを試みましたが、私はdiv.number内のスパンを望みます – Tony

+0

あなたが求めていることは明確ではありません。これは他の質問の続きですか? –

答えて

1

あなたのコードの問題は、それはDOM構造を全体交換したDOM構造が更新されているように、「T」を含むスパンを含んでいます。ここ は、あなたの更新されたコード

function commaSeparateNumber(val){ 
 
    while (/(\d+)(\d{3})/.test(val.toString())){ 
 
    val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); 
 
    } 
 
    return val; 
 
} 
 

 
$('.number').each(function() { 
 
    $(this).prop('Counter',0).animate({ 
 
     Counter: $(this).text() 
 
    }, { 
 
     duration: 8000, 
 
     easing: 'swing', 
 
     step: function (now) { 
 
      $(this).text(commaSeparateNumber(Math.ceil(now))); 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-md-4"> 
 
<div class="count"><div><span class="number">30</div></div> 
 
<div class="text">text 1</div> 
 
</div> 
 
<div class="col-md-4"> 
 
<div class="count"><div><span class="number">3000</span></div></div> 
 
<div class="text">text 2</div> 
 
</div> 
 
<div class="col-md-4"> 
 
<div class="count"><div><span class="number">700</span><span>T</span></div></div> 
 
<div class="text">text 3</div>

+0

ok。ありがとう。ちなみに、700Tと '' '' 8000 - > 8000'''の間にスペースを追加する方法は? 。私は$ 1以外の "、"を '' ' ' 'のようなスペースで置き換えようとしましたが、動作しません。 – Tony

+0

あなたはCSSマージン '.t {margin-left:10px; } .count { text-align:right; 幅:100px; } 'または単に空白文字をの末尾に追加すると、 happymacarts

関連する問題