UPDATE: dit is behoorlijk oud. Als u tegenwoordig afbeeldingen lui wilt laden, raad ik u aan om te kijken naar:
- De complete gids voor lui laden van afbeeldingen
- Een native Lazy Load voor het webplatform
- Tips voor het rollen van uw eigen luie lading
Gebruik een 5699899/lazy_loading_images_css-tricks.gif
als de src
afbeeldingen en voeg de width
en height
van de uiteindelijke afbeelding toe.
/* lazyload.js (c) Lorenzo Giuliani * MIT License (http://www.opensource.org/licenses/mit-license.html) * * expects a list of: * `` */ !function(window)( var $q = function(q, res)( if (document.querySelectorAll) ( res = document.querySelectorAll(q); ) else ( var d=document , a=d.styleSheets(0) || d.createStyleSheet(); a.addRule(q,'f:b'); for(var l=d.all,b=0,c=(),f=l.length;b = 0 && rect.left >= 0 && rect.top <= (window.innerHeight || document.documentElement.clientHeight) ) ) var images = new Array() , query = $q('img.lazy') , processScroll = function()( for (var i = 0; i < images.length; i++) ( if (elementInViewport(images(i))) ( loadImage(images(i), function () ( images.splice(i, i); )); ) ); ) ; // Array.prototype.slice.call is not callable under our lovely IE8 for (var i = 0; i < query.length; i++) ( images.push(query(i)); ); processScroll(); addEventListener('scroll',processScroll); )(this);
Zie de Pen
Lazy Loading Images door Chris Coyier (@chriscoyier)
op CodePen.