vanilla-lazyload
Version:
A fast, lightweight script to load images as they enter the viewport. SEO friendly, it supports responsive images (both srcset + sizes and picture) and progressive JPEG
521 lines (511 loc) • 21.2 kB
HTML
<html>
<head lang="en">
<meta charset="UTF-8">
<title>
Lazyload tests
</title>
<style>
body {
font-family: sans-serif;
}
.intro {
margin: 1em 0;
}
p {
margin: .3em 0;
}
ul,
li {
list-style-type: none;
min-height: 280px;
margin: 0;
padding: 0;
}
img {
display: block;
border: 0;
}
img:not([src]) {
visibility: hidden;
}
</style>
</head>
<body>
<div id="results1" class="results">
<div class="intro">
<p>To see callbacks being logged,
<strong>open your browser's console</strong>.</p>
<p>In case of error, the image is set to a fallback image generated by
<a href="http://placehold.it">placehold.it</a>
</p>
</div>
<ul>
<li>
<a href="#/it/donna/stivaletti_cod44721746jj.html">
<picture>
<source media="(min-width: 1024px)" srcset="http://placehold.it/220x280?text=01 1x, http://placehold.it/440x560?text=01 2x"
/>
<source media="(min-width: 500px)" srcset="http://placehold.it/330x420?text=01 1x, http://placehold.it/660x840?text=01 2x"
/>
<img alt="Stivaletti" src="http://placehold.it/220x280?text=01">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/open-toe_cod44740806jx.html">
<picture>
<source media="(min-width: 1024px)" srcset="http://placehold.it/220x280?text=02 1x, http://placehold.it/440x560?text=02 2x"
/>
<source media="(min-width: 500px)" srcset="http://placehold.it/330x420?text=02 1x, http://placehold.it/660x840?text=02 2x"
/>
<img alt="Open toe" src="http://placehold.it/220x280?text=02">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/sneakers-tennis-shoes-basse_cod44735977gr.html">
<picture>
<source media="(min-width: 1024px)" srcset="http://placehold.it/220x280?text=03 1x, http://placehold.it/440x560?text=03 2x"
/>
<source media="(min-width: 500px)" srcset="http://placehold.it/330x420?text=03 1x, http://placehold.it/660x840?text=03 2x"
/>
<img alt="Sneakers & Tennis" src="http://placehold.it/220x280?text=03">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/sneakers-tennis-shoes-basse_cod44738717am.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=04 1x, http://placehold.it/440x560?text=04 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=04 1x, http://placehold.it/660x840?text=04 2x"
/>
<img class="lazy" alt="Sneakers & Tennis shoes basse" data-src="http://placehold.it/220x280?text=04">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/sneakers-tennis-shoes-alte_cod44739940cb.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=05 1x, http://placehold.it/440x560?text=05 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=05 1x, http://placehold.it/660x840?text=05 2x"
/>
<img class="lazy" alt="Sneakers & Tennis shoes alte" data-src="http://placehold.it/220x280?text=05">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/sneakers-tennis-shoes-alte_cod44740860xg.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=06 1x, http://placehold.it/440x560?text=06 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=06 1x, http://placehold.it/660x840?text=06 2x"
/>
<img class="lazy" alt="Sneakers & Tennis shoes alte" data-src="http://placehold.it/220x280?text=06">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/sneakers-tennis-shoes-basse_cod44738719vn.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=07 1x, http://placehold.it/440x560?text=07 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=07 1x, http://placehold.it/660x840?text=07 2x"
/>
<img class="lazy" alt="Sneakers & Tennis shoes basse" data-src="http://placehold.it/220x280?text=07">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/sneakers-tennis-shoes-basse_cod44739938wk.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=08 1x, http://placehold.it/440x560?text=08 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=08 1x, http://placehold.it/660x840?text=08 2x"
/>
<img class="lazy" alt="Sneakers & Tennis shoes basse" data-src="http://placehold.it/220x280?text=08">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivali_cod44736534fq.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=09 1x, http://placehold.it/440x560?text=09 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=09 1x, http://placehold.it/660x840?text=09 2x"
/>
<img class="lazy" alt="Stivali" data-src="http://placehold.it/220x280?text=09">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivali_cod44735388ui.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=10 1x, http://placehold.it/440x560?text=10 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=10 1x, http://placehold.it/660x840?text=10 2x"
/>
<img class="lazy" alt="Stivali" data-src="http://placehold.it/220x280?text=10">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44739165ev.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=11 1x, http://placehold.it/440x560?text=11 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=11 1x, http://placehold.it/660x840?text=11 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=11">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44739454hf.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=12 1x, http://placehold.it/440x560?text=12 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=12 1x, http://placehold.it/660x840?text=12 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=12">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivali_cod44719480km.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=13 1x, http://placehold.it/440x560?text=13 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=13 1x, http://placehold.it/660x840?text=13 2x"
/>
<img class="lazy" alt="Stivali" data-src="http://placehold.it/220x280?text=13">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44719687td.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=14 1x, http://placehold.it/440x560?text=14 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=14 1x, http://placehold.it/660x840?text=14 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=14">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/decollete_cod44721899ng.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=15 1x, http://placehold.it/440x560?text=15 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=15 1x, http://placehold.it/660x840?text=15 2x"
/>
<img class="lazy" alt="Décolleté" data-src="http://placehold.it/220x280?text=15">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/mocassini_cod44721744sl.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=16 1x, http://placehold.it/440x560?text=16 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=16 1x, http://placehold.it/660x840?text=16 2x"
/>
<img class="lazy" alt="Mocassini" data-src="http://placehold.it/220x280?text=16">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44716730kr.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=17 1x, http://placehold.it/440x560?text=17 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=17 1x, http://placehold.it/660x840?text=17 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=17">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/decollete_cod44718734xl.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=18 1x, http://placehold.it/440x560?text=18 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=18 1x, http://placehold.it/660x840?text=18 2x"
/>
<img class="lazy" alt="Décolleté" data-src="http://placehold.it/220x280?text=18">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/decollete_cod44721796uk.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=19 1x, http://placehold.it/440x560?text=19 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=19 1x, http://placehold.it/660x840?text=19 2x"
/>
<img class="lazy" alt="Décolleté" data-src="http://placehold.it/220x280?text=19">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/francesine_cod44717679mj.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=20 1x, http://placehold.it/440x560?text=20 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=20 1x, http://placehold.it/660x840?text=20 2x"
/>
<img class="lazy" alt="Francesine" data-src="http://placehold.it/220x280?text=20">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44724594vu.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=21 1x, http://placehold.it/440x560?text=21 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=21 1x, http://placehold.it/660x840?text=21 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=21">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/decollete_cod44726148aq.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=22 1x, http://placehold.it/440x560?text=22 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=22 1x, http://placehold.it/660x840?text=22 2x"
/>
<img class="lazy" alt="Décolleté" data-src="http://placehold.it/220x280?text=22">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/mocassini_cod44719629nt.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=23 1x, http://placehold.it/440x560?text=23 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=23 1x, http://placehold.it/660x840?text=23 2x"
/>
<img class="lazy" alt="Mocassini" data-src="http://placehold.it/220x280?text=23">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/mocassini_cod44725329kq.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=24 1x, http://placehold.it/440x560?text=24 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=24 1x, http://placehold.it/660x840?text=24 2x"
/>
<img class="lazy" alt="Mocassini" data-src="http://placehold.it/220x280?text=24">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivali_cod44724026qs.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=25 1x, http://placehold.it/440x560?text=25 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=25 1x, http://placehold.it/660x840?text=25 2x"
/>
<img class="lazy" alt="Stivali" data-src="http://placehold.it/220x280?text=25">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44720256gw.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=26 1x, http://placehold.it/440x560?text=26 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=26 1x, http://placehold.it/660x840?text=26 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=26">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44722062id.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=27 1x, http://placehold.it/440x560?text=27 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=27 1x, http://placehold.it/660x840?text=27 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=27">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/mocassini_cod44722402rh.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=28 1x, http://placehold.it/440x560?text=28 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=28 1x, http://placehold.it/660x840?text=28 2x"
/>
<img class="lazy" alt="Mocassini" data-src="http://placehold.it/220x280?text=28">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44726296vu.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=29 1x, http://placehold.it/440x560?text=29 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=29 1x, http://placehold.it/660x840?text=29 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=29">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44725755ct.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=30 1x, http://placehold.it/440x560?text=30 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=30 1x, http://placehold.it/660x840?text=30 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=30">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44725348nv.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=31 1x, http://placehold.it/440x560?text=31 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=31 1x, http://placehold.it/660x840?text=31 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=31">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44721879xx.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=32 1x, http://placehold.it/440x560?text=32 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=32 1x, http://placehold.it/660x840?text=32 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=32">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/cuissardes_cod44729472iq.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=33 1x, http://placehold.it/440x560?text=33 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=33 1x, http://placehold.it/660x840?text=33 2x"
/>
<img class="lazy" alt="Cuissardes" data-src="http://placehold.it/220x280?text=33">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/decollete_cod44725388jv.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=34 1x, http://placehold.it/440x560?text=34 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=34 1x, http://placehold.it/660x840?text=34 2x"
/>
<img class="lazy" alt="Décolleté" data-src="http://placehold.it/220x280?text=34">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/stivaletti_cod44721854ce.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=35 1x, http://placehold.it/440x560?text=35 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=35 1x, http://placehold.it/660x840?text=35 2x"
/>
<img class="lazy" alt="Stivaletti" data-src="http://placehold.it/220x280?text=35">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/sneakers-tennis-shoes-basse_cod44727690jp.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=36 1x, http://placehold.it/440x560?text=36 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=36 1x, http://placehold.it/660x840?text=36 2x"
/>
<img class="lazy" alt="Sneakers & Tennis shoes basse" data-src="http://placehold.it/220x280?text=36">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/mocassini_cod44727501hh.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=37 1x, http://placehold.it/440x560?text=37 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=37 1x, http://placehold.it/660x840?text=37 2x"
/>
<img class="lazy" alt="Mocassini" data-src="http://placehold.it/220x280?text=37">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/sneakers-tennis-shoes-basse_cod44727038aq.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=38 1x, http://placehold.it/440x560?text=38 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=38 1x, http://placehold.it/660x840?text=38 2x"
/>
<img class="lazy" alt="Sneakers & Tennis shoes basse" data-src="http://placehold.it/220x280?text=38">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/mocassini_cod44704882bq.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=39 1x, http://placehold.it/440x560?text=39 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=39 1x, http://placehold.it/660x840?text=39 2x"
/>
<img class="lazy" alt="Mocassini" data-src="http://placehold.it/220x280?text=39">
</picture>
</a>
</li>
<li>
<a href="#/it/donna/mocassini_cod44734002vc.html">
<picture>
<source media="(min-width: 1024px)" data-srcset="http://placehold.it/220x280?text=40 1x, http://placehold.it/440x560?text=40 2x"
/>
<source media="(min-width: 500px)" data-srcset="http://placehold.it/330x420?text=40 1x, http://placehold.it/660x840?text=40 2x"
/>
<img class="lazy" alt="Mocassini" data-src="http://placehold.it/220x280?text=40">
</picture>
</a>
</li>
</ul>
</div>
<script src="../dist/lazyload.min.js"></script>
<script>
(function () {
function logElementEvent(eventName, element) {
console.log(Date.now(), eventName, element.getAttribute('data-src'));
}
ll = new LazyLoad({
elements_selector: '.lazy',
callback_enter: function (element) {
logElementEvent("ENTERED", element);
},
callback_load: function (element) {
logElementEvent("LOADED", element);
},
callback_set: function (element) {
logElementEvent("SET", element);
},
callback_error: function (element) {
logElementEvent("ERROR", element);
element.src = "http://placehold.it/220x280?text=FallbackImage";
}
});
}());
</script>
</body>
</html>