CSSアニメーションのループの実装方法


  1. animation-iteration-countプロパティを使用する方法: CSSのanimation-iteration-countプロパティを使用することで、アニメーションを特定の回数または無限回数ループさせることができます。以下に例を示します。

    .box {
     animation-name: myAnimation;
     animation-duration: 2s;
     animation-iteration-count: infinite;
    }
    @keyframes myAnimation {
     0% { transform: translateX(0); }
     100% { transform: translateX(100px); }
    }

    上記の例では、.box要素が右に100ピクセル移動するアニメーションが2秒間隔で無限に繰り返されます。

  2. animation-play-stateプロパティを使用する方法: animation-play-stateプロパティを使用することで、アニメーションの一時停止と再開を制御することができます。以下に例を示します。

    .box {
     animation-name: myAnimation;
     animation-duration: 2s;
     animation-iteration-count: 1;
     animation-direction: alternate;
     animation-play-state: running;
    }
    @keyframes myAnimation {
     0% { transform: translateX(0); }
     100% { transform: translateX(100px); }
    }

    上記の例では、.box要素が左右に往復するアニメーションが2秒間隔で1回再生されます。アニメーションの一時停止と再開はJavaScriptなどのイベントハンドラを使用して制御することができます。

  3. JavaScriptを使用する方法: JavaScriptを使用してCSSアニメーションを制御することもできます。以下に例を示します。

    <div class="box"></div>
    <script>
     const box = document.querySelector('.box');
     box.addEventListener('animationiteration', () => {
       // アニメーションがループするたびに呼び出される処理
       // ここにカスタムの処理を追加できます
     });
    </script>

    上記の例では、アニメーションがループするたびにanimationiterationイベントが発生し、それに対応する処理を追加することができます。

これらはいくつかの方法ですが、CSSアニメーションをループさせるための一般的な手法です。必要に応じてこれらのコード例を参考にして、アニメーションのループに関する要件に合わせた実装を行ってください。