ホームページ > ウェブフロントエンド > CSSチュートリアル > ブラウザ間での CSS 遷移の完了を確実に検出するにはどうすればよいですか?

ブラウザ間での CSS 遷移の完了を確実に検出するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-26 17:27:10
オリジナル
525 人が閲覧しました

How Can I Reliably Detect the Completion of CSS Transitions Across Browsers?

イベント駆動型 CSS トランジション: トランジションの完了の検出

CSS トランジションを使用する場合、トランジションが終了したときに通知を受け取ることが望ましいことがよくあります。完成しました。幸いなことに、最新のブラウザには、遷移の終了時にトリガーされるイベントが用意されており、コールバック機能の実装が容易になります。

ブラウザ間でのイベント名

遷移完了の特定のイベント名は、ブラウザごとに異なります。ブラウザ:

  • Webkit (Chrome、Safari): webkitTransitionEnd
  • Firefox:transitionend
  • IE9 :msTransitionEnd
  • Opera:oTransitionEnd

イベント処理の実装

実装するにはCSS 遷移が完了したときにコールバック関数を実行するには、次の手順に従います。

  1. 使用するブラウザに適切な遷移イベント名を決定します。
  2. 遷移中の要素にイベント リスナーを追加します。
elemToAnimate.addEventListener(transitionEndEventName, transitionEnded);
ログイン後にコピー
  1. トランジション時に必要なアクションを実行するために、transitionEnded コールバック関数を定義します。

ただし、webkitTransitionEnd イベントは常に一貫して発生するとは限らないことに注意することが重要です。これを考慮して、イベント ハンドラーが期待どおりにトリガーされない場合にイベント ハンドラーを呼び出すタイムアウトを設定することをお勧めします。

フォールバック タイムアウト

setTimeout(function(){
    if(!done){
        console.log("timeout needed to call transition ended..");
        transitionEnded();
    }
}, requiredTimeForAnimation);
ログイン後にコピー

を組み込むことにより、タイムアウトフォールバックを使用すると、遷移イベントが実行されない場合でもコールバックが確実に実行されるようにすることができます。 fire.

遷移イベント名の取得

「ブラウザ間で CSS3 遷移関数を正規化するにはどうすればよいですか?」という質問への回答で概説された方法。現在のブラウザでサポートされている遷移イベント名を確認するために使用できます。

追加リソース

以上がブラウザ間での CSS 遷移の完了を確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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