正在从中设置数字动画
开始(1000)
到
结束(10000)
. 但我希望这个动画在一些预定义的时间内停止,例如60秒。
结束值
可以很大,即。
23,600,191
但是这个动画需要在60秒内停止。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
function myCalculator() {
$(".container2").show();
var start = 1000;
var end = 10000;
var duration = 2000;
animateValue("value", start, end, duration);
}
function animateValue(id, start, end, duration) {
var range = end - start;
var current = start;
var increment = end > start? 11 : -1;
var stepTime = Math.round(duration / range);
var obj = document.getElementById(id);
var timer = setInterval(function() {
current += increment;
obj.innerHTML = parseFloat(current).toLocaleString('en-US');
if ((increment > 0 && current >= end) || (increment < 0 && current <= end)) {
obj.innerHTML = parseFloat(end).toLocaleString('en-US');
clearInterval(timer);
}
}, stepTime);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button name="submit" type="button" id="contact-submit" onclick="myCalculator();" >Click Here to See Animation</button>
<div style="display:none;" class="container2">Animating Amount $ <span id="value" ></span></div>
注:
如果结束值很小,如1000,则此动画需要在60秒内停止;如果结束值很大,如10000000,则此动画也需要在60秒内停止。请帮我修一下好吗?