ホームページ > ウェブフロントエンド > CSSチュートリアル > jQuery を使用せずにスクロール時に JavaScript を使用して CSS アニメーションをトリガーするにはどうすればよいですか?

jQuery を使用せずにスクロール時に JavaScript を使用して CSS アニメーションをトリガーするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-10 22:41:10
オリジナル
483 人が閲覧しました

How Can I Trigger CSS Animations with JavaScript on Scroll Without jQuery?

jQuery を使用せずに JavaScript で CSS アニメーションをトリガーする

問題:

ユーザーがスクロールしたときに CSS アニメーションをトリガーしたいページを使用せずにjQuery.

解決策:

JavaScript で CSS アニメーションをトリガーする 1 つの方法は、classList プロパティを使用することです。その方法は次のとおりです。

  1. アニメーション プロパティを使用して CSS クラスを作成します。

    例:

    .animated {
      animation: my-animation 2s forwards;
    }
    ログイン後にコピー
  2. イベント リスナーをdocument.

    ユーザーがページをスクロールするたびに、scroll イベントが発生します。このイベントを使用してアニメーションをトリガーできます。方法は次のとおりです:

    document.addEventListener('scroll', (event) => {
      // Get the element you want to animate.
      const element = document.getElementById('my-element');
    
      // Add the 'animated' class to the element.
      element.classList.add('animated');
    });
    ログイン後にコピー
  3. アニメーションが完了したら、'animated' クラスを削除します。

    animationend イベントを使用して検出できます。アニメーションが終わったとき。方法は次のとおりです:

    element.addEventListener('animationend', (event) => {
      // Remove the 'animated' class from the element.
      element.classList.remove('animated');
    });
    ログイン後にコピー

例:

ユーザーがページをスクロールしたときに CSS アニメーションをトリガーする方法の完全な例を次に示します。

<!DOCTYPE html>
<html>
<head>
  <style>
    .animated {
      animation: my-animation 2s forwards;
    }

    @keyframes my-animation {
      0% {
        opacity: 0;
      }

      100% {
        opacity: 1;
      }
    }
  </style>
</head>
<body>
  <div>
ログイン後にコピー

以上がjQuery を使用せずにスクロール時に JavaScript を使用して CSS アニメーションをトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート