検索
ホームページウェブフロントエンドCSSチュートリアル交差点オブザーバーがどのように監視するかの説明

交差点オブザーバーがどのように監視するかの説明

この記事は、交差点オブザーバーAPIを掘り下げ、典型的な入門ガイドよりも深い理解を提供します。多くのリソースはそれを使用する方法に焦点を当てていますが、この探索は、その理由方法を説明し、あらゆるレベルの開発者のギャップを埋めることを目的としています。

W3Cドラフトで定義されている交差点オブザーバーAPIは、ビューポートなどのコンテナ(ルート)に対するDOM要素(ターゲット)の可視性と位置を監視するメカニズムを提供します。この非同期アプローチは、プリロードと怠zyなロードコンテンツに最適な要素の可視性を効率的に処理します。これは、従来のスクロールイベントリスナーのパフォーマンスを向上させる代替手段ですが、必ずしも完全な代替品ではありません。どちらも相乗的に使用できます。

交差点オブザーバーのコアコンポーネント:

  1. root観測された要素を含む親要素(またはビューポートのnull )。
  2. target観察されている子要素。
  3. optionsオブジェクト:オブザーバーの動作を構成します(以下で説明します)。
  4. callback関数:交差点の変更が発生するたびに実行されます。

基本例:

 const options = {
  root:document.body、
  rootmargin: '0px'、
  しきい値:0
};

関数コールバック(エントリ、オブザーバー){
  console.log(オブザーバー); //オブザーバーの詳細
  entries.foreach(entry => console.log(entry)); //各ターゲットの交差点の詳細
}

Observer = new IntersectionObserver(callback、options);
Observer.observe(Targetelement);

optionsオブジェクトの理解:

  • root前述のように、含有要素。 nullデフォルトでビューポートになります。
  • rootMarginルートの境界ボックスを拡張または縮小するCSSマージンのような文字列( '10px 20px' )で、交差点検出に影響します。ピクセルとパーセンテージのみが許可されます。 rootnullの場合は機能しません。
  • thresholdコールバックをトリガーするために必要なターゲット交差の割合を表す数値(0-1)または数字の配列。 0交差点で0トリガー。 1ターゲット全体がルート内にある場合にのみトリガーします。

callback関数とIntersectionObserverEntry

コールバックは、観測された各ターゲットに対して1つのIntersectionObserverEntryオブジェクトを受け取ります。重要なプロパティは次のとおりです。

  • isIntersecting交差点を示すブール値。
  • intersectionRatioルートと交差するターゲットの割合(0-1)。
  • boundingClientRectビューポートに対するターゲットの境界長方形。
  • intersectionRect交差点領域の長方形。
  • rootBoundsビューポートに対するルートの境界長方形。
  • target観測されたターゲット要素への参照。
  • time交差点のタイムスタンプ。

交差点オブザーバー方法:

  • observe(target) :オブザーバーにターゲットを追加します。
  • unobserve(target) :ターゲットを削除します。
  • disconnect() :すべてのターゲットの観察を停止します。

パフォーマンスの比較:交差点オブザーバーとスクロールイベント:

ベンチマークは、特に多数の要素を処理する場合、交差点オブザーバーの優れたパフォーマンスを明らかにします。スクロールイベントでは、交差点検出のための手動計算が必要ですが、交差点オブザーバーはこのデータを直接提供するため、有意な効率向上が得られます。

intersectionRatio精度と位置の決定:

intersectionRatio交差点の割合を提供しますが、必ずしも完全に正確ではありません。それをboundingClientRectintersectionRect 、およびrootBoundsと組み合わせることで、ルート内で正確な位置決定が可能になります。

「粘着性のある」ポジションイベントの作成:

rootMargin'0px 0px -100% 0px' )を巧みに使用すると、「粘着性のある」位置イベントをシミュレートでき、要素がコンテナの上部に到達したときにコールバックをトリガーします。

スクロールイベントと組み合わせる:

精度を強化するには、交差点オブザーバーとスクロールイベントを組み合わせます。オブザーバーは、視認性に基づいてイベントリスナーの添付ファイル/削除を効率的に管理し、パフォーマンスを最適化できます。

ブラウザのサポートと癖:

交差点オブザーバーは、幅広いブラウザのサポートを楽しんでおり、ポリフィルは古いブラウザーで利用できます。ただし、さまざまなブラウザがtransformclip-pathを含むアニメーションをどのように処理するかには、わずかな矛盾が存在します。

交差点オブザーバーV2(提案):

将来のバージョンは、可視性の検出を改善し、不透明度を考慮し、重複する要素を改善するためのtrackVisibilitydelayオプションを提案します。ただし、これはまだ開発中です。

結論として、交差点オブザーバーAPIは、要素の可視性と位置を効率的に管理するための強力なツールであり、従来のスクロールイベントの取り扱いよりもパフォーマンスの利点を提供します。そのニュアンスを理解することは、洗練されたパフォーマンスのあるWebアプリケーションを作成するための最大限の可能性を解き放ちます。

以上が交差点オブザーバーがどのように監視するかの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
「ポッドキャストにサブスクライブ」リンクはどこにすべきですか?「ポッドキャストにサブスクライブ」リンクはどこにすべきですか?Apr 16, 2025 pm 12:04 PM

しばらくの間、iTunesはポッドキャストの大きな犬だったので、「ポッドキャストにサブスクライブ」をリンクした場合:

ブラウザエンジンの多様性ブラウザエンジンの多様性Apr 16, 2025 pm 12:02 PM

彼らが2013年にChromeに行ったとき、私たちはオペラを失いました。今年初めにChromeになったとき、Edgeと同じ取引。マイク・テイラーはこれらの変更を「減少させて」と呼びました

Web共有に関するUXの考慮事項Web共有に関するUXの考慮事項Apr 16, 2025 am 11:59 AM

Trashy ClickBaitサイトから出版物の最大の8月まで、共有ボタンは長い間ウェブ全体でユビキタスでした。それでも、これらは議論の余地があります

毎週のプラットフォームニュース:AppleはWebコンポーネント、プログレッシブHTMLレンダリング、自己ホストの重要なリソースを展開しています毎週のプラットフォームニュース:AppleはWebコンポーネント、プログレッシブHTMLレンダリング、自己ホストの重要なリソースを展開していますApr 16, 2025 am 11:55 AM

今週のラウンドアップでは、AppleはWebコンポーネント、InstagramがどのようにInsta-Loadingスクリプトであるか、自己ホストの重要なリソースのための考えのための食べ物に入ります。

git pathspecsとそれらの使用方法git pathspecsとそれらの使用方法Apr 16, 2025 am 11:53 AM

gitコマンドのドキュメントを調べていたとき、それらの多くが選択肢があることに気付きました。私は当初、これはただのものだと思っていました

製品画像のカラーピッカー製品画像のカラーピッカーApr 16, 2025 am 11:49 AM

難しい問題のように聞こえます。私たちはしばしば、何千もの色で製品ショットを持っていないので、withをひっくり返すことができます。私たちもそうしません

ReactとThemeproviderを使用した暗いモードの切り替えReactとThemeproviderを使用した暗いモードの切り替えApr 16, 2025 am 11:46 AM

ウェブサイトにダークモードオプションがあるときが好きです。ダークモードにより、ウェブページが読みやすくなり、目がリラックスしているように感じます。を含む多くのウェブサイト

HTMLダイアログ要素を使用したいくつかの実践HTMLダイアログ要素を使用したいくつかの実践Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター