jQueryなどでアニメーションを実装した際には
アニメーション終了時に処理を実行させるのは比較的簡単なのですが
CSSアニメーション制御の場合は少々面倒だったりします。

そんなCSSアニメーションの終了イベントを取得してくれるJavaScript
「Detecting CSS Animation and Transition End with JavaScript」が
とても便利そうだったのでご紹介。

Detecting CSS Animation and Transition End with JavaScript – Osvaldas Valutis


Detecting CSS Animation and Transition End with JavaScript – Osvaldas Valutis
デモページはこちら

スクリプトはjQueryで使用するパターンと
jQueryに依存せずにJavaScriptのみで実装するパターンが用意されています。

jQueryで使用する場合は「jquery.oncssanimationend.js」
そうでない場合は「oncssanimationend.js」を読み込んで
どちらの場合でも
・【onCSSAnimationEnd】でAnimations終了の判別
・【onCSSTransitionEnd】でTransitions終了の判別
をそれぞれイベント設定して実装する構成のようです。

使用例は下記のようになっています。

◆jQueryの場合
$(セレクタ).addClass('●●●●').onCSSAnimationEnd(function(){
	~ここにCSSアニメーション終了後の処理を記述~
});
◆JavaScriptの場合
var item = document.querySelector(セレクタ);
item.classList.add('●●●●');
item.onCSSAnimationEnd(function(){
	~ここにCSSアニメーション終了後の処理を記述~
});

このようにCSSアニメーションを設定したCSSクラス「●●●●」を
対象セレクタに追加した後に「onCSSAnimationEnd」を設定して
CSSアニメーション終了後の処理を記述します。
※Transitions終了の判別は【onCSSAnimationEnd】の部分が【onCSSTransitionEnd】になります。

CSSアニメーションの終了判別がとてもシンプルに使えるので
とても便利に使えそうです。

因みにこのJavaScriptを使用せずに
CSSアニメーションの終了判別をやろうとすると以下のように。

◆jQueryの場合
$(セレクタ).addClass('●●●●').on('webkitAnimationEnd mozAnimationEnd oAnimationEnd oanimationend animationend',function(){
	~ここにCSSアニメーション終了後の処理を記述~
});

参考までにCSSアニメーションではなく、
jQueryアニメーションの終了判別をするには、、、

【参考】jQueryでアニメーション処理(「.animate()」)完了後に別の処理を実行させる方法

以上がCSSアニメーションの終了判別をするJavaScriptの紹介でした。

CSSアニメーションの終了判別をする際にぜひ。。。