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

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

DDD
リリース: 2024-12-01 12:09:11
オリジナル
896 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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