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

为什么我的代码只有第一个小球动了,接下来都不动了

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<title>ball</title>

<meta name="description" content="">

<meta name="keywords" content="">

<link href="" rel="stylesheet">

<style type="text/css">

div{

width:40px;

height: 40px;

border-radius:20px;

}

.ball1{

background: red;

}

.ball2{

background: yellow;

}

.ball3{

background: green;

}

</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>

</body>

<script type="text/javascript" src="./node_modules/bluebird/js/browser/bluebird.min.js"></script>

<script type="text/javascript">

var ball1=document.querySelector('.ball1');

var ball2=document.querySelector('.ball2');

var ball3=document.querySelector('.ball3');


var Promise=window.Promise;

function promiseAnimate(ball,distance){

return new Promise(function(resolve,reject){

function _animate(){

setTimeout(function(){

var marginLeft=parseInt(ball.style.marginLeft);

if(marginLeft===distance){

resolve

}else{

if(marginLeft<distance){

marginLeft++;

}else{

marginLeft--;

}

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

_animate();

}

},13)

};

_animate(ball,distance);

})

}

promiseAnimate(ball1,100)

.then(function(){

return promiseAnimate(ball2,200)

})

.then(function(){

return promiseAnimate(ball3,300)

})

.then(function(){

return promiseAnimate(ball3,150)

})

.then(function(){

return promiseAnimate(ball2,150)

})

.then(function(){

return promiseAnimate(ball1,150)

})


</script>

</html>


正在回答

1 回答

resolve加()

3 回复 有任何疑惑可以回复我~
#1

大白菜66 提问者

非常感谢!
2017-05-25 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么我的代码只有第一个小球动了,接下来都不动了

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