首页 > 代码库 > 给一串数字,使用定时器将数字依次从0变为指定的大小

给一串数字,使用定时器将数字依次从0变为指定的大小

开始使用的for循环,结果无法实现依次变化的效果,后来改为回调函数解决问题。

技术分享

从0依次变为上面数字:

非常简单,上代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
     div{float: left;border: 1px solid red;padding: 20px;}
    </style>
    <script src="js/jquery-1.10.2.min.js"></script>
</head>
<body>
    <div class="div1"></div>
    <div class="div2"></div>
    <div class="div3"></div>
    <div class="div4"></div>
    <script>
    $(function(){
        test();
    })
    var num = 4796;
    var str = num.split("");
    var n=0;//数字
    var i=0;//下标
    var time=null;//定时器
    function test(){
            var m=str[i];
            var j=i+1;
            if(n<=m){
                $(".div"+j).html(n);
                n++;
                time=setTimeout(test(),100);
            }else{
                n=0;
                i++;
                time=setTimeout(test(),100);
            }
        }
    </script>
</body>
</html>

 

给一串数字,使用定时器将数字依次从0变为指定的大小