Leniwe ładowanie obrazów - CSS-Tricks

Anonim

AKTUALIZACJA: To jest dość stare. Jeśli chcesz obecnie leniwie ładować obrazy, polecam spojrzeć na:

  • Kompletny przewodnik po leniwym ładowaniu obrazów
  • Natywne leniwe ładowanie dla platformy internetowej
  • Wskazówki dotyczące toczenia własnego leniwego ładowania

Użyj a 5699899/lazy_loading_images_css-tricks.gifjako srcobrazów i dołącz widthi heightostatecznego obrazu.

/* 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); 

Zobacz
obrazy Pen Lazy Loading autorstwa Chrisa Coyiera (@chriscoyier)
na CodePen.