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

运行执行不了

<!doctype html>
<html>
<head>
<style type="text/css">
    .ball{ width: 40px; height: 40px; border-radius: 50%;}
    .ball1 { background: red; }
    .ball2 { background: yellow; }
    .ball3 { background: green; }
</style>
<meta charset="utf-8">
<title>Promise animation</title>
</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 type="text/javascript">
        var ball1=document.querySelector('.ball1');
        var ball2=document.querySelector('.ball2');
        var ball3=document.querySelector('.ball3');
        
        function animate(ball, distance, callback){
            //distance:传入数据,期望球所运动到的那个点
            setTimeout(function(){
                var marginLeft=parseInt(ball.style.marginLeft,10);
                    
                if(marginLeft==distance){
                    callback&callback();    
                }else {
                      if(marginLeft < distance){
                          marginLeft++;
                      }else{
                          marginLeft--;
                      }
                      ball.style.marginLeft=marginLeft;
                      animate(ball, distance, callback);
                }
            }, 13);    //jq中设定的动画毫秒数
        }
        
        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>

正在回答

3 回答

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

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

谢谢,我找到了,还有一个是marginLeft后加'px'

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

 callback&callback();     这里 少了一个&  应该是 callback && callback(); 

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

举报

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

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

进入课程

运行执行不了

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