为了账号安全,请及时绑定邮箱和手机立即绑定

使用老师讲的第一种方法.最后演示结果很奇怪:第一个小球缓慢移动到100px的位置,但是第二个第三个小球就直接移动过去了,没有中间循序渐进的过程,请问是咋回事?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>promise animation</title>
    <style>
        .ball{
            width: 40px;
            height: 40px;
            border-radius: 50%;
        }
        .ball1{
            background: lightgreen;
        }
        .ball2{
            background: pink;
        }
        .ball3{
            background: lightblue;
        }
    </style>
</head>
<body>
    <div class="ball ball1" style = "margin-left: 0;"></div>
    <div class="ball ball2" style = "margin-left: 0;"></div>
    <div class="ball ball3" style = "margin-left: 0;"></div>

    <script>
        var ball1 = document.querySelector('.ball1');
        var ball2 = document.querySelector('.ball2');
        var ball3 = document.querySelector('.ball3');

        function animate(ball,distance,cb){
            setTimeout(function(){
                var marginLeft = parseInt(ball.style.marginLeft,10);
                if(marginLeft===distance){
                    cb&&cb();
                }else if(marginLeft<distance){
                    marginLeft++;
                }else if(marginLeft>distance){
                    marginLeft--;
                }


                ball.style.marginLeft = marginLeft + "px";

                animate(ball,distance,cb);
            },13);
        }

        animate(ball1,100,function(){
            animate(ball2,200,function(){
                animate(ball3,300,function(){
                    // animate(ball3,150,function(){
                    //     animate(ball2,150,function(){
                    //         animate(ball1,150,function(){

                    //         })
                    //     })
                    // })
                })
            })
        })
    </script>
</body>
</html>

正在回答

1 回答

好的...我找到问题了.......判断写错了,.,,

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(二)
  • 参与学习       76801    人
  • 解答问题       226    个

本教程带你攻破 Nodejs,让 JavaScript流畅运行在服务器端

进入课程

使用老师讲的第一种方法.最后演示结果很奇怪:第一个小球缓慢移动到100px的位置,但是第二个第三个小球就直接移动过去了,没有中间循序渐进的过程,请问是咋回事?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信