js实现数字从零慢慢增加到指定数字

最近的学习项目中需要一个数字从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);
			}
		} 

看到这篇博客的大神们有什么更好的实现方法请多多指教

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值