मैं अपनी खुद की मूल विधि के साथ आया था जो ठीक (अब तक) काम करने के लिए लगता है। संभवत: एक दर्जन चीजें हैं जिनमें से कुछ लोकप्रिय लिपियों के बारे में मुझे पता नहीं है।
नोट - यह समाधान तेजी से लागू करने के लिए आसान है लेकिन निश्चित रूप से प्रदर्शन के लिए महान नहीं है। अपूर्व द्वारा बताए गए नए Intersection Observer को निश्चित रूप से देखें और यदि डेवलपर्स एक समस्या है, तो उसे Developers.google द्वारा समझाया गया है ।
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');
}
})
})
नमूना HTML कोड
<div>
<img src="" data-src="pathtoyour/image1.jpg">
<img src="" data-src="pathtoyour/image2.jpg">
<img src="" data-src="pathtoyour/image3.jpg">
</div>
व्याख्या की
जब पृष्ठ स्क्रॉल किया जाता है तो पृष्ठ पर प्रत्येक छवि की जाँच की जाती है ..
$(this).attr('data-src')
- यदि छवि में विशेषता है data-src
और वे चित्र खिड़की के नीचे से कितनी दूर हैं ..
$(this).offset().top < ($(window).scrollTop() + $(window).height() + 100)
आपको जो भी पसंद है + 100 समायोजित करें (- उदाहरण के लिए 100)
var source = $(this).data('src');
- data-src=
उर्फ छवि url का मान प्राप्त करता है
$(this).attr('src', source);
- उस मूल्य में डालता है src=
$(this).removeAttr('data-src');
- डेटा-src विशेषता को हटाता है (इसलिए आपका ब्राउज़र उन संसाधनों से खिलवाड़ नहीं करता है जो पहले से लोड की गई छवियों के साथ गड़बड़ कर रहे हैं)
मौजूदा कोड में जोड़ना
एक संपादक में, अपने html बदलने के लिए बस खोज और की जगह src="
के साथsrc="" data-src="