HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOM StyleのanimationDirectionプロパティとは?アニメーションの再生方向を制御する方法

animationDirectionプロパティとは

animationDirectionプロパティは、CSSアニメーションの再生方向を指定するために使用されるプロパティです。アニメーションを順方向(通常)、逆方向、あるいは交互(alternate)に再生するかどうかを制御することができます。

構文

以下がanimationDirectionプロパティの基本構文です。

■ プロパティの設定:

object.style.animationDirection = "normal|reverse|alternate|alternate-reverse|initial|inherit"

指定できる値

animationDirectionプロパティには、以下の値を指定できます。

説明
normalデフォルト値です。アニメーションは通常どおり順方向に再生されます。
reverseアニメーションを逆方向に再生します。
alternate奇数回目のサイクルでは通常方向、偶数回目のサイクルでは逆方向にアニメーションを再生します。
alternate-reversealternateの逆の動作です。奇数回目のサイクルでは逆方向、偶数回目のサイクルでは通常方向にアニメーションを再生します。
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>

実行結果

上記のコードを実行すると、次のような出力が得られます。

HTML DOM StyleのanimationDirectionプロパティとは?アニメーションの再生方向を制御する方法

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

HTML DOM StyleのanimationDirectionプロパティとは?アニメーションの再生方向を制御する方法

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

HTML DOM StyleのanimationDirectionプロパティとは?アニメーションの再生方向を制御する方法

まとめ

animationDirectionプロパティを使えば、JavaScriptから動的にCSSアニメーションの再生方向を切り替えることができます。「normal」「reverse」「alternate」「alternate-reverse」の4つの主要な値を理解しておくことで、より表現力豊かなアニメーションを実装できるようになります。

  1. HTML DOM スタイル animationPlayState プロパティの使い方を解説

    animationPlayState プロパティは、CSS アニメーションの状態(実行中か一時停止中か)を取得・設定するために使用されます。このプロパティを活用することで、JavaScript からアニメーションの再生と一時停止を動的に切り替えることができ、インタラクティブな Web ページの作成に非常に便利です。 構文 animationPlayState プロパティを設定する場合の構文は以下の通りです。 object.style.animationPlayState = running|paused|initial|inherit; 設定できる値 animationPlayState プロ

  2. HTML DOM スタイルの animationIterationCount プロパティとは?使い方と設定方法を解説

    animationIterationCount プロパティは、CSS アニメーションが再生される回数を設定または取得するために使用される HTML DOM のスタイルプロパティです。このプロパティを使うことで、JavaScript から動的にアニメーションの繰り返し回数を制御できます。 構文(Syntax) animationIterationCount プロパティの基本的な構文は以下の通りです。 ■ animationIterationCount プロパティを設定する場合: object.style.animationIterationCount = number|infinite|init