我想单独应用计数动画
I want to apply the count animation individually
我希望像文本一样应用数字计数动画效果。
但是,当有两个或多个numB 类时,显示的是组合值。
我想给每个标签一个相同的效果。
<div class="numB">12345</div>
<div class="numB">600</div>
$(function(){
var ln = Number($('.numB').text());
var $el = $('.numB');
$($el).animate({ val: ln }, {
duration: 2000,
step: function () {
var num = numComma(Math.floor(this.val));
// $el.text(num); //have Comma
$el.text(Math.floor(this.val)); //none Comma
},
complete: function () {
var num = numComma(Math.floor(this.val));
$el.text(Math.floor(this.val));
}
});
function numComma(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
});
您所要做的就是包含 .each()
函数。然后就可以正常使用了。
演示
$(function() {
$(".numB").each(function() {
var ln = Number($(this).text());
var $el = $(this);
$($el).animate({
val: ln
}, {
duration: 2000,
step: function() {
var num = numComma(Math.floor(this.val));
// $el.text(num); //have Comma
$el.text(Math.floor(this.val)); //none Comma
},
complete: function() {
var num = numComma(Math.floor(this.val));
$el.text(Math.floor(this.val));
}
});
});
function numComma(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="numB">12345</div>
<div class="numB">600</div>
我希望像文本一样应用数字计数动画效果。 但是,当有两个或多个numB 类时,显示的是组合值。 我想给每个标签一个相同的效果。
<div class="numB">12345</div>
<div class="numB">600</div>
$(function(){
var ln = Number($('.numB').text());
var $el = $('.numB');
$($el).animate({ val: ln }, {
duration: 2000,
step: function () {
var num = numComma(Math.floor(this.val));
// $el.text(num); //have Comma
$el.text(Math.floor(this.val)); //none Comma
},
complete: function () {
var num = numComma(Math.floor(this.val));
$el.text(Math.floor(this.val));
}
});
function numComma(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
});
您所要做的就是包含 .each()
函数。然后就可以正常使用了。
演示
$(function() {
$(".numB").each(function() {
var ln = Number($(this).text());
var $el = $(this);
$($el).animate({
val: ln
}, {
duration: 2000,
step: function() {
var num = numComma(Math.floor(this.val));
// $el.text(num); //have Comma
$el.text(Math.floor(this.val)); //none Comma
},
complete: function() {
var num = numComma(Math.floor(this.val));
$el.text(Math.floor(this.val));
}
});
});
function numComma(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="numB">12345</div>
<div class="numB">600</div>