AIGPAIGP

透けて見える!Intersection Observer v2 で可視性検知

P

プロンプト

Intersection Observer v2 を使って、交差だけでなく実際の可視性(透明オーバーレイやopacityでの非表示)も検出するデモを作成。複数カードに異なる状態(完全可視、半透明オーバーレイで隠れている、opacityで薄くなっている)を表示し、可視性の変化を色付きインジケーターで示す。

CODE PREVIEW

エディタを読み込み中…

AIとの対話に追加する一言

プロンプトと一緒にコピーして、AIがより正確に意図を汲み取れるようにします

このコードをそのまま使いたいので、CDNリンクも含めた完全なHTMLファイルとして出力してください。

初心者なので、各行にコメントを追加して、何をしているか説明してください。

このコードをWordPressのテーマに組み込む方法も教えてください。

動作確認済みのコードをお願いします。エラーが出る場合の対処法も含めて。

Intersection Observer v2 は、オリジナルの API に trackVisibilitydelay オプション、さらにエントリの isVisible プロパティを追加します。これにより、要素がビューポートに入ったか出たかだけでなく、実際にユーザーから見えているかどうか(CSS の opacity や透明オーバーレイなどで隠されていないか)も検出できます。

このデモでは、6枚のカードに異なる可視性シナリオを用意しています。「covered (隠れている)」と表示されたカードは上に半透明のオーバーレイ (::after 疑似要素) があり、「faded (薄くなっている)」のカードは opacity: 0.3 以下に設定されています。オブザーバーが交差と可視性の両方を追跡し、各カードのバッジとインジケーターの色が変化します。

注意: trackVisibility: true と正の delay (例: 100ms) が v2 機能には必須です。ブラウザサポートは現在 Chromium ベースのブラウザに限られます。

プロンプトの解説

Intersection Observer v2 は、オリジナルの API に trackVisibilitydelay オプション、さらにエントリの isVisible プロパティを追加します。これにより、要素がビューポートに入ったか出たかだけでなく、実際にユーザーから見えているかどうか(CSS の opacity や透明オーバーレイなどで隠されていないか)も検出できます。

このデモでは、6枚のカードに異なる可視性シナリオを用意しています。「covered (隠れている)」と表示されたカードは上に半透明のオーバーレイ (::after 疑似要素) があり、「faded (薄くなっている)」のカードは opacity: 0.3 以下に設定されています。オブザーバーが交差と可視性の両方を追跡し、各カードのバッジとインジケーターの色が変化します。

注意: trackVisibility: true と正の delay (例: 100ms) が v2 機能には必須です。ブラウザサポートは現在 Chromium ベースのブラウザに限られます。

このプロンプトは役に立ちましたか?

コメント

コメントは承認後に表示されます

この記事が役に立ったら投げ銭で応援

Apple Pay / Google Pay / カード (Visa/Mastercard/JCB/Amex) / Link / Alipay / WeChat Pay 対応 · Stripeで安全に決済

開発者が選ぶ最強ツール集

運営者が毎日使っているツール・ガジェット 6選

見る
ホームヘルプ