ホームページ >ウェブフロントエンド >CSSチュートリアル >要素がビューにスクロールしたときにのみ CSS3 アニメーションをトリガーするにはどうすればよいですか?

要素がビューにスクロールしたときにのみ CSS3 アニメーションをトリガーするにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-01 12:09:11897ブラウズ

How Can I Trigger CSS3 Animations Only When Elements Scroll into View?

ビューへのスクロール時に CSS3 アニメーションをトリガー

目的: ユーザーのビューにスクロールされたときに要素の CSS3 アニメーションをアクティブ化します。

問題: 圧倒的なアニメーション化された棒グラフを画面外に押し出すコンテンツでは、ページの読み込み時にアニメーションが途中で開始されます。

解決策: JavaScript または jQuery を使用してスクロールを監視します。 events.

実装:

  1. スクロール イベントのキャプチャ: JavaScript または jQuery を使用してスクロール イベントをキャプチャし、アニメーションがトリガーされるだけであることを確認します。ターゲット要素がビューポート内にある場合。
  2. チェック要素の可視性: スクロール イベント リスナー内で、isElementInViewport() のような関数が、アニメーション化された要素がユーザーのビューに入ったかどうかを判断します。
  3. アニメーションの開始: 要素が表示されると、をトリガーするクラス (例: "start") を追加します。アニメーション。

例:

この例では、jQuery を使用してスクロール イベントを処理し、棒グラフが表示される時期を識別します:

$(window).scroll(function() {
    var $elem = $('.bar .level');

    if (!$elem.hasClass('start') && isElementInViewport($elem)) {
        $elem.addClass('start');
    }
});

この JavaScript コードにより、ユーザーが下にスクロールしてグラフが表示されたときにのみ棒グラフのアニメーションが開始されるようになります。ビューポート。

以上が要素がビューにスクロールしたときにのみ CSS3 アニメーションをトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。