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

为什么三个小球都不动QAQ

<!DOCTYPE>

<html>

<head>

<title>Promise animation</title>

<style type="text/css">

.ball{

width:40px;

height: 40px;

border-radius: 20px;

}

.ball1{

background-color: red;

}

.ball2{

background-color: blue;

}

.ball3{

background-color: yellow;

}

</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 type="text/javascript">

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{

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 回答

把你的代码复制到本地发现是最后animate调用的时候写错了导致的,括号太多你不知道哪里写掉了,我重写了你animate调用的部分三个小球就可以动了,下面是代码

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


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

举报

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

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

进入课程

为什么三个小球都不动QAQ

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