0.1.0 • Published 9 months ago

lazy-image-webcomponent v0.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

lazy-image-webcomponent

This component offers a simple method to lazy load images from a source set similar to responsive images. The component calculates it's rendered width and then fetches the the image with closest dimensions.

Installation

Node Modules

Install the component using npm.

npm install lazy-image-webcomponent --save

Add to main.js

import {lazyImages} from './lazyImages.js'

Init

We will use the Intersection Observer API to track all individual components and check if they reach the viewport.

<lazy-image visible="false" srcset="0 images/img-1-placeholder.jpeg, 400 images/img-1-400.jpeg, 600 images/img-1-600.jpeg, 800 images/img-1-800.jpeg, 1000 images/img-1-1000.jpeg, 1200 images/img-1-1200.jpeg, 1400 images/img-1-1400.jpeg"></lazy-image>
lazyImages({});

Init with sections

By tracking sections instead of indvidual images we can improve .

<lazy-image-section>
    <lazy-image visible="false" srcset="0 images/img-1-placeholder.jpeg, 400 images/img-1-400.jpeg, 600 images/img-1-600.jpeg, 800 images/img-1-800.jpeg, 1000 images/img-1-1000.jpeg, 1200 images/img-1-1200.jpeg, 1400 images/img-1-1400.jpeg"></lazy-image>
    <div class="spacer"></div>
    <lazy-image visible="false" srcset="0 images/img-2-placeholder.jpeg, 400 images/img-2-400.jpeg, 600 images/img-2-600.jpeg, 800 images/img-2-800.jpeg, 1000 images/img-2-1000.jpeg, 1200 images/img-2-1200.jpeg, 1400 images/img-2-1400.jpeg"></lazy-image>
</lazy-image-section>
<lazy-image-section>
    <lazy-image visible="false" srcset="0 images/img-3-placeholder.jpeg, 400 images/img-3-400.jpeg, 600 images/img-3-600.jpeg, 800 images/img-3-800.jpeg, 1000 images/img-3-1000.jpeg, 1200 images/img-3-1200.jpeg, 1400 images/img-3-1400.jpeg"></lazy-image>
</lazy-image-section>
lazyImages({
    sections: true,
});
0.1.0

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago

0.0.0

9 months ago