<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")
var?Promise?=?window.Promise
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)
????????}
????})
}
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)
????})
2018-05-24
倒數(shù)第三行 漏寫了 _animate()