您好,登錄后才能下訂單哦!
最近的學習項目中需要一個數字從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>
有個容器放數字就行啦:
<h6 >當月通行次數</h6> <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); } }
看到這篇博客的大神們有什么更好的實現方法請多多指教
以上這篇js實現數字從零慢慢增加到指定數字示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。