
CSSの「keyframes」のアニメーションを一時停止する方法を紹介します。
ここで利用するのは「animation-play-state」プロパティ。
指定できる値は running と paused の2つで、running のほうは初期値なので省略が可能。
running を指定するとアニメーションが実行され、paused の指定でアニメーションが一時ストップします。
実際の挙動を確認したい方は以下のリンクからどうぞ。
上記のサンプルでは次のようなHTMLとCSSで実装しています。
HTML
.sample {
width: 100px;
height: 100px;
background: #000;
animation: move 2s linear infinite alternate;
}
@keyframes move {
0% {transform: translateX(-200px);}
100% {transform: translateX(200px);}
}
CSS
.sample:hover {
animation-play-state: paused;
}
もちろんJavaScriptからの制御も可能です。
頭の片隅に入れておくとイイかもしれませんね。