Yazar: suat 2 Ocak 2024
Lazy Loading (Tembel Yükleme), web sayfalarındaki görsel öğelerin, kullanıcı sayfayı aşağı doğru kaydırdıkça veya görsel öğeye yaklaştıkça yüklenmesini geciktiren bir tekniktir. Bu, sayfanın ilk yüklenmesini hızlandırmak ve sayfa üzerindeki kaynakları etkin bir şekilde yönetmek amacıyla kullanılır. Lazy Loading, özellikle büyük resim dosyaları gibi ağırlıklı görsel içeriğe sahip web siteleri için etkili bir performans optimizasyonu sağlar.
Lazy Loading nasıl kullanılır:
<img>
etiketleri üzerinde loading
özelliği kullanılarak gerçekleştirilir. Bu özelliğe lazy
değeri atanarak, resimlerin yüklenmesinin geciktirilmesi sağlanır.<img src="placeholder.jpg" data-src="image-to-load.jpg" alt="Description" loading="lazy">
data-src
özelliği, resmin asıl kaynağını (src) belirtirken, src
özelliğine placeholder bir resim veya boş bir resim yerleştirilir.<img src="placeholder.jpg" data-src="image-to-load.jpg" alt="Description" class="lazy-load-image">
javascriptCopy codedocument.addEventListener("DOMContentLoaded", function() { var lazyImages = document.querySelectorAll('.lazy-load-image'); var lazyLoad = function() { lazyImages.forEach(function(img) { if (img.getBoundingClientRect().top < window.innerHeight && img.getBoundingClientRect().bottom >= 0) { img.src = img.getAttribute('data-src'); img.classList.remove('lazy-load-image'); } }); }; document.addEventListener('scroll', lazyLoad); window.addEventListener('resize', lazyLoad); });
getBoundingClientRect()
metodu, bir öğenin tarayıcı penceresindeki görünürlüğünü kontrol etmek için kullanılır.<img src="placeholder.jpg" data-src="image-to-load.jpg" alt="Description" class="lazy-load-image">
javascriptCopy codedocument.addEventListener("DOMContentLoaded", function() { var lazyImages = document.querySelectorAll('.lazy-load-image'); var observer = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { var img = entry.target; img.src = img.getAttribute('data-src'); img.classList.remove('lazy-load-image'); observer.unobserve(img); } }); }); lazyImages.forEach(function(img) { observer.observe(img); }); });
Lazy Loading, sayfa hızını ve performansını artırmak için etkili bir yöntemdir, özellikle büyük medya dosyaları içeren web sitelerinde kullanıldığında önemli bir fark yaratabilir.