この記事は、交差点オブザーバーAPIを掘り下げ、典型的な入門ガイドよりも深い理解を提供します。多くのリソースはそれを使用する方法に焦点を当てていますが、この探索は、その理由と方法を説明し、あらゆるレベルの開発者のギャップを埋めることを目的としています。
W3Cドラフトで定義されている交差点オブザーバーAPIは、ビューポートなどのコンテナ(ルート)に対するDOM要素(ターゲット)の可視性と位置を監視するメカニズムを提供します。この非同期アプローチは、プリロードと怠zyなロードコンテンツに最適な要素の可視性を効率的に処理します。これは、従来のスクロールイベントリスナーのパフォーマンスを向上させる代替手段ですが、必ずしも完全な代替品ではありません。どちらも相乗的に使用できます。
交差点オブザーバーのコアコンポーネント:
-
root
:観測された要素を含む親要素(またはビューポートのnull
)。 -
target
:観察されている子要素。 -
options
オブジェクト:オブザーバーの動作を構成します(以下で説明します)。 -
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'
)で、交差点検出に影響します。ピクセルとパーセンテージのみが許可されます。root
がnull
の場合は機能しません。 -
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
交差点の割合を提供しますが、必ずしも完全に正確ではありません。それをboundingClientRect
、 intersectionRect
、およびrootBounds
と組み合わせることで、ルート内で正確な位置決定が可能になります。
「粘着性のある」ポジションイベントの作成:
rootMargin
( '0px 0px -100% 0px'
)を巧みに使用すると、「粘着性のある」位置イベントをシミュレートでき、要素がコンテナの上部に到達したときにコールバックをトリガーします。
スクロールイベントと組み合わせる:
精度を強化するには、交差点オブザーバーとスクロールイベントを組み合わせます。オブザーバーは、視認性に基づいてイベントリスナーの添付ファイル/削除を効率的に管理し、パフォーマンスを最適化できます。
ブラウザのサポートと癖:
交差点オブザーバーは、幅広いブラウザのサポートを楽しんでおり、ポリフィルは古いブラウザーで利用できます。ただし、さまざまなブラウザがtransform
とclip-path
を含むアニメーションをどのように処理するかには、わずかな矛盾が存在します。
交差点オブザーバーV2(提案):
将来のバージョンは、可視性の検出を改善し、不透明度を考慮し、重複する要素を改善するためのtrackVisibility
とdelay
オプションを提案します。ただし、これはまだ開発中です。
結論として、交差点オブザーバーAPIは、要素の可視性と位置を効率的に管理するための強力なツールであり、従来のスクロールイベントの取り扱いよりもパフォーマンスの利点を提供します。そのニュアンスを理解することは、洗練されたパフォーマンスのあるWebアプリケーションを作成するための最大限の可能性を解き放ちます。
以上が交差点オブザーバーがどのように監視するかの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

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

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
