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

为什么只有第一个红色的球可以移动?

为什么只有第一个红色的球可以移动?


function promiseAnimate(ball,distance){

            return new Promise(function(resolve,reject){

               

                 setTimeout(function(){

                    //console.log(ball)

                    var marginLeft=parseInt(ball.style.marginLeft,10)


                    if(marginLeft===distance){

                       resolve()

                    }else{

                        if(marginLeft<distance){

                            marginLeft++

                        }else{

                            marginLeft--

                        }


                        ball.style.marginLeft=marginLeft+'px'

                        promiseAnimate(ball,distance)

                    }

                 },13)

                 

               })   

        }

         

 

        promiseAnimate(ball01,100)

           .then(function(){

               return promiseAnimate(ball02,200)

           })

           .then(function(){

               return promiseAnimate(ball03,300)

           })

           .then(function(){

               return promiseAnimate(ball03,150)

           })

           .then(function(){

               return promiseAnimate(ball02,150)

           })

           .then(function(){

               return promiseAnimate(ball01,150)

           })


正在回答

1 回答

function promiseAnimate(ball,distance){

return new Promise(function(resolve,reject){

function _animate(){

setTimeout(function(){

var marginLeft = parseInt(ball.style.marginLeft,10)


if(marginLeft === distance){

resolve()

}

else{

if(marginLeft < distance){

marginLeft ++

}

else{

marginLeft --

}

ball.style.marginLeft = marginLeft + 'px'

_animate()

}

},13)

}

_animate()

})

}


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

举报

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

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

进入课程

为什么只有第一个红色的球可以移动?

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