修正: jQueryアニメーションのところ、わざわざreturn d.promise()でなくてもanimate()はpromise()を返すのでそのままreturnでよかったです。 CSSアニメーションやjQueryアニメーション、さらにそれ以外の様々な動作を順番に実行するような処理を実装したいと思い、Deferredによる実装方法を試してみました。 CSSアニメーションの完了を判断する方法 順番に動作させるためには「処理が完了した」ということを判定しないといけません。 CSSアニメーションは完了時にtransitionendというイベントが発火します。 ※keyframeアニメーションの場合はanimationendというイベントになります。 このイベントに対してresolve()をバインドさせれば、Deferredにより連鎖的な処理を実装できそうです。 ちなみにjQueryのみの場合
![【Javascript】【HTML5/CSS3】DeferredによるCSS・jQueryアニメーションの連続実行 | Wood-Roots:blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/1f2368f030995f68b05c4221936e9315b6cf9a5f/height=288;version=1;width=512/https%3A%2F%2Fwood-roots.com%2Fwp-content%2Fthemes%2Fwr5%2Fimg%2Fjquery.jpg%3Fupdate)