Javascript  Intersection Observer Kullanımı
Blog'a Dön

Javascript Intersection Observer Kullanımı

Buğra Şıkel

Javascript Intersection Observer Kullanımı

Merhabalar bu yazımızda javascript intersection observer API kullanımından bahsedeceğim. Javascript intersection observer nedir ve projelerimizde ne şekilde kullanabiliriz gibi soruları cevaplandırmaya çalışacağım.

Javascript Intersenction Observer API

Intersection Observer API, bir hedef öğenin bir üst öğeyle veya bir üst düzey belgenin görünüm penceresiyle kesişimindeki değişiklikleri gözlemlememizi sağlar. Hedeflediğimiz öğenin sayfada görünürlük durumunu izleyip, buna göre işlem yapmamıza olanak tanır. Örnek vermek gerekirse, hedeflediğimiz öğe sayfada görünür olmaya başladığında o öğeye bir animasyon ekleyebiliriz. Sınıfında bir değişiklik yapabiliriz. CSS ile müdahale edebiliriz, ya da bir videoyu oynatmaya başlatıp, görünürlükten çıktıktan sonra durdurabiliriz. Öncelikle intersection observer nasıl kullanılır onu göstereceğim ve daha sonrasında bir örnek ile kullanımını göstereceğim.

Genel kullanımımız için örnek kod bloğu aşağıdaki gibidir.

const target = document.getElementById('element');
const options = {
    root: document.querySelector('#scrollArea'), //Hedefin görünürlüğünü kontrol ederken kullanacağımız scroll olan objemiz, yok ise varsayılan olarak en üst nesnesi kullanır.
    rootMargin: '0px', // Hedefin görünürlüğünün mesafesini ayarlamak için kullanılır. 
    threshold: 0.8 // Hedefin görünürlüğünün yüzdesini ayarlar. Sadece float değer alır.
};
const observer = new IntersectionObserver(callback, options); // instance'ı oluşturuyoruz ve daha sonra bir hedef belirleyip observe() ile izlemeye başlayabiliriz.
observer.observe(target); // neyi izlemesi gerektiğini içine yazarak izlemeyi başlatıyoruz.
Konuyu daha iyi kavrayabilmemiz için örnek üzerinden kullanıma bakalım. Bu örnekte amacımız sayfada bulunan videoyu görünür olduğu zaman otomatik oynatacağız, görünmediği anlarda ise durdurma işlemini yapacağız. Bu sayede sayfamızda gezinen bir ziyaretçimiz videonun hiç bir anını kaçırmamış olacak.
const video = document.getElementById('video'); // video id'li videomuzu tanımlıyoruz.
const callback = (entries) => {
    if (entries[0].isIntersecting) { // eğer görünür olursa
        video.play();  // videoyu oynat
    }else {           // görünür olmazsa
        video.pause();  // videoyu durdur
    }
};
const options = {
    root:null, // en üst elemanı alacak
    rootMargin:'0px',
    threshold:0.9 // video %90 kadar görünür olduğunda bu işlemi yap
};
const observer = new IntersectionObserver(callback,options);
observer.observe(video);

Yukarıdaki işlemde videomuz %90 oranında görünür olduğunda oynatılmaya başlanacak ve görünürlüğü %90’ın altına düştüğünde durdurulacak. Javascript intersection observer kullanarak projelerinizde bir çok şey yapabilirsiniz. Örnekleri çoğaltmak istersek, resimleri görünür olmaya başladığı anda yükleyip sayfa yüklenme hızını arttırabilirsiniz. Bu konuda Tayfun Erbilen hocanın youtube videosu da çok faydalı olacaktır. İzlemenizi tavsiye ederim.

Bu ve benzeri önemli ipuçlarını öğrenmek için diğer yazılarıma da göz atabilirsiniz.

Web sitesine mi ihtiyacınız var ?

 

Bunları da beğenebilirsiniz

vLLM ile LLM Sunumunda Mühendislerin Düştüğü 5 PagedAttention ve VRAM Tuzağı
5 Haziran 2026

vLLM ile LLM Sunumunda Mühendislerin Düştüğü 5 PagedAttention ve VRAM Tuzağı

Production ortamında vLLM kullanan mühendislerin PagedAttention, KV Cache ve VRAM yönetiminde yaptığı 5 kritik konfigürasyon hatası, tespiti ve çözümleri.

Devamını Oku
PHP ile Hataları Yakalayıp Veritabanında Saklamak
9 Aralık 2022

PHP ile Hataları Yakalayıp Veritabanında Saklamak

Hatalar, bir uygulamanın işleyişinde beklenmeyen durumları ifade eder. Bu durumlar, uygulamanın doğru bir şekilde çalışmamasına, hata mesajları gösterilmesine ve hatta çökmesine neden olabilir. Bu nedenle,…

Devamını Oku
React Nedir? Neden Kullanmalıyız, Nasıl başlarız, Neler Yapabiliriz?
9 Ekim 2022

React Nedir? Neden Kullanmalıyız, Nasıl başlarız, Neler Yapabiliriz?

Ön uç çerçeveleri ve kitaplıkları, web geliştirme sürecinin önemli bir yönüdür. Yüksek performanslı duyarlı web siteleri ve web tabanlı uygulamalar oluşturmak için kitaplıkları kullanmak zorunlu…

Devamını Oku
AI Asistan