HTML DOM StyleのanimationDirectionプロパティとは?アニメーションの再生方向を制御する方法
animationDirectionプロパティとは
animationDirectionプロパティは、CSSアニメーションの再生方向を指定するために使用されるプロパティです。アニメーションを順方向(通常)、逆方向、あるいは交互(alternate)に再生するかどうかを制御することができます。
構文
以下がanimationDirectionプロパティの基本構文です。
■ プロパティの設定:
object.style.animationDirection = "normal|reverse|alternate|alternate-reverse|initial|inherit"
指定できる値
animationDirectionプロパティには、以下の値を指定できます。
| 値 | 説明 |
|---|---|
| normal | デフォルト値です。アニメーションは通常どおり順方向に再生されます。 |
| reverse | アニメーションを逆方向に再生します。 |
| alternate | 奇数回目のサイクルでは通常方向、偶数回目のサイクルでは逆方向にアニメーションを再生します。 |
| alternate-reverse | alternateの逆の動作です。奇数回目のサイクルでは逆方向、偶数回目のサイクルでは通常方向にアニメーションを再生します。 |
| initial | このプロパティを初期値に設定します。 |
| inherit | 親要素からこのプロパティの値を継承します。 |
サンプルコード
それでは、animationDirectionプロパティを使用した具体的な例を見てみましょう。
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 50px;
height: 80px;
background: skyblue;
position: relative;
animation: high 5s infinite;
z-index:-1;
animation-direction:normal;
}
@keyframes high {
0% {left: 0px; top: 0px;}
25% {background-color: lightblue; left: 0px; top: 0px;}
50% {background-color: lightgreen; left: 550px; top: 80px;}
75% {background-color: lightblue; left: 0px; top: 80px;}
100% {left: 0px; top: 0px;}
}
</style>
<script>
function changeDir(){
document.getElementById("DIV1").style.animationDirection="alternate-reverse"
}
</script>
</head>
<body>
<h1>animationDirection property example</h1>
<div id="DIV1"></div>
<p>下のボタンをクリックするとdivのアニメーション方向が変わります</p>
<button onclick="changeDir()">CHANGE DIRECTION</button>
</body>
</html>実行結果
上記のコードを実行すると、次のような出力が得られます。

アニメーションが進行すると、要素は斜め右方向へ移動していきます。

「CHANGE DIRECTION」ボタンをクリックすると、animationDirectionが「alternate-reverse」に変更され、まず開始地点から下方向へ移動し、その後逆方向へ再生されるようになります。

まとめ
animationDirectionプロパティを使えば、JavaScriptから動的にCSSアニメーションの再生方向を切り替えることができます。「normal」「reverse」「alternate」「alternate-reverse」の4つの主要な値を理解しておくことで、より表現力豊かなアニメーションを実装できるようになります。
-
HTML DOM スタイル animationPlayState プロパティの使い方を解説
animationPlayState プロパティは、CSS アニメーションの状態(実行中か一時停止中か)を取得・設定するために使用されます。このプロパティを活用することで、JavaScript からアニメーションの再生と一時停止を動的に切り替えることができ、インタラクティブな Web ページの作成に非常に便利です。 構文 animationPlayState プロパティを設定する場合の構文は以下の通りです。 object.style.animationPlayState = running|paused|initial|inherit; 設定できる値 animationPlayState プロ
-
HTML DOM スタイルの animationIterationCount プロパティとは?使い方と設定方法を解説
animationIterationCount プロパティは、CSS アニメーションが再生される回数を設定または取得するために使用される HTML DOM のスタイルプロパティです。このプロパティを使うことで、JavaScript から動的にアニメーションの繰り返し回数を制御できます。 構文(Syntax) animationIterationCount プロパティの基本的な構文は以下の通りです。 ■ animationIterationCount プロパティを設定する場合: object.style.animationIterationCount = number|infinite|init