(Şimdiye kadar) iyi çalışıyor gibi görünen kendi temel yöntemimi buldum. Muhtemelen bazı popüler senaryoların ele aldığını düşünmediğim bir düzine şey vardır.
Not - Bu çözüm hızlı ve uygulanması kolaydır, ancak elbette performans için harika değildir. Apoorv tarafından bahsedildiği ve performansın bir sorun olması durumunda developer.google tarafından açıklanan yeni Kesişim Gözlemcisine kesinlikle bakın .
JQuery
$(window).scroll(function() {
$.each($('img'), function() {
if ( $(this).attr('data-src') && $(this).offset().top < ($(window).scrollTop() + $(window).height() + 100) ) {
var source = $(this).data('src');
$(this).attr('src', source);
$(this).removeAttr('data-src');
}
})
})
Örnek html kodu
<div>
<img src="" data-src="pathtoyour/image1.jpg">
<img src="" data-src="pathtoyour/image2.jpg">
<img src="" data-src="pathtoyour/image3.jpg">
</div>
Açıkladı
Sayfa kaydırıldığında sayfadaki her bir görüntü kontrol edilir ..
$(this).attr('data-src')
- resmin özniteliği varsa data-src
ve bu resimler pencerenin altından ne kadar uzakta ..
$(this).offset().top < ($(window).scrollTop() + $(window).height() + 100)
+ 100'ü istediğiniz gibi ayarlayın (örneğin - 100)
var source = $(this).data('src');
- data-src=
aka resim url'sinin değerini alır
$(this).attr('src', source);
- bu değeri src=
$(this).removeAttr('data-src');
- data-src özniteliğini kaldırır (böylece tarayıcınız, önceden yüklenmiş olan resimlerle uğraşarak kaynakları boşa harcamaz)
Mevcut Koda Ekleme
Bir editör, senin html dönüştürmek için sadece arama ve değiştirme src="
ilesrc="" data-src="