![見出し画像](https://assets.st-note.com/production/uploads/images/92861765/rectangle_large_type_2_67f8403041dcfafccab753b7b3e3d2f7.jpeg?width=1200)
Intersection Observerを使用してウインドウ内に要素が入ったらフェードインして表示させる
こんにちは、ちゃるです😀
今日はIntersection Observerについて調べました。
Intersection Observerは要素と交差したかどうかを判定するクラスです。ウインドウとの交差を判定することで、画面内に入ったかどうかを判定することができます。
このIntersection Observerを使用して、ウインドウ内に要素が入ったらフェードインして表示される処理を書いてみました!
Copy code// フェードインする要素を取得
const fadeInElement = document.querySelector('.fade-in-element');
// Intersection Observerのオプションを設定
const options = {
root: null, // デフォルトのビューポートを指定
rootMargin: '0px', // 余白を指定
threshold: 0 // 完全に表示されたら通知を受け取るように設定
}
// Intersection Observerを作成
const observer = new IntersectionObserver((entries, observer) => {
// 要素が表示されたときの処理
entries.forEach(entry => {
if (entry.isIntersecting) {
// 要素をフェードインさせる
fadeInElement.classList.add('fade-in');
// Intersection Observerを停止
observer.unobserve(fadeInElement);
}
});
}, options);
// Intersection Observerを開始
observer.observe(fadeInElement);
上記のコードでは、最初にフェードインする要素を取得しています。次に、Intersection Observerのオプションを設定しています。ここでは、デフォルトのビューポートを指定し、余白を指定せず、完全に表示されたら通知を受け取るようにしています。
次に、Intersection Observerを作成しています。このとき、要素が表示されたときに実行する処理を登録します。ここでは、要素が表示されたときに、要素に「fade-in」というクラスを追加し、フェードインさせます。次に、Intersection Observerを停止します。
最後に、Intersection Observerを開始します。これにより、要素が表示されたタイミングを検出し、上記の処理を実行するようになります。
ホームページに組み込んで使ってみたいですね😀
サポートをいただいたらスクールに通ったり参考書を買ったりしたいと思います。支援をお待ちしています😀
この記事が気に入ったらサポートをしてみませんか?