js实现数字从零慢慢增加到指定数字示例
时间:2020-11-05 18:12:24|栏目:JavaScript代码|点击: 次
最近的学习项目中需要一个数字从0慢慢增加到指定数字,然后想了好久才做出来。一开始是想用循环做,循环里面用delay(),但是发现不太好用(可能是我不会用),然后想用循环里面套setTimeout,后来发现不行,一番百度之后发现setTimeout是异步的,等setTimeout的时候数字自增已经执行了n遍,完全不出效果,最后想了很久想出一个笨方法,自己也是想了蛮久的,怕忘记,所以写在博客上。
嘿嘿!第一次写博客,请大佬们多多指导
直接贴出代码:
css样式随便设:
<style type="text/css"> #curNum,#moneyNum{ padding:0.3em; border: rgba(14,250,248,1) solid 2px; font-size: 18px; text-align: center; } </style>
有个容器放数字就行啦:
<h5 style="text-align: center;font-weight: bold;">当月通行次数</h5> <div id="curNum" class="col-sm-12" > 0000000000000 </div>
最后是js脚本:
setNumText(); var currentNum=2559; var i=0; var numText=$("#curNum"); function setNumText(){ var time=1; if (i<=currentNum) { i++; setNum(i,numText); } if(i>=currentNum && j>=moneyNum){ }else { setTimeout("setNumText();",time); } } function setNum(num,obj){ if (num<=9 && num>=0) { obj.text("000000000000"+num); }else if (num<=99 && num>9) { obj.text("00000000000"+num); }else if (num<=999 && num>99) { obj.text("0000000000"+num); }else if (num<=9999 && num>999) { obj.text("000000000"+num); }else if (num<=99999 && num>9999) { obj.text("00000000"+num); }else if (num<=999999 && num>99999) { obj.text("0000000"+num); }else if (num<=9999999 && num>999999) { obj.text("000000"+num); }else if (num<=99999999 && num>9999999) { obj.text("00000"+num); }else if (num<=999999999 && num>99999999) { obj.text("0000"+num); }else if (num<=9999999999 && num>999999999) { obj.text("000"+num); }else if (num<=99999999999 && num>9999999999) { obj.text("00"+num); }else if (num<=999999999999 && num>99999999999) { obj.text("0"+num); }else if (num<=9999999999999 && num>999999999999) { obj.text(""+num); } }
看到这篇博客的大神们有什么更好的实现方法请多多指教