3.0.0 • Published 3 years ago

delay-image v3.0.0

Weekly downloads
370
License
MIT
Repository
github
Last release
3 years ago

delay-image

Build Status BrowserStack Status

Delay image load until it’s in viewport.

Install

npm install delay-image --save

Usage

By default, it will look for data-src attribute on image element and add src attribute when image has been successfully loaded.

<img id="jackie" data-src="jackie.jpg" />
import delayImage from 'delay-image';

delayImage(document.querySelector('#jackie'), {
	onEnter: (element) => {
		// Image in viewport!
	}
});

API

delayImage(element, options)

Delay image load until it’s in viewport.

element

Type: Element

Image element.

options

Type: Object

PropertyTypeDefault valueDescription
thresholdnumber0Positive value in pixels which will signal plugin to check for image presence earlier in document.
scrollResizeHandlerFunction300Window scroll and resize event handler. Useful if you want to use throttle or debounce methods on those events. Should return new handler (original or wrapped).
imageSourcestringelement.getAttribute('data-src')Image URL to load.
onEnterFunction() => {}Callback to execute if image is within viewport (useful for loader initialization).
onSuccessFunction(element) => { element.src = imageSource; }Callback to execute if image has been successfully loaded. If you define this callback, you need to add src attribute yourself.
onFailFunction() => { ... }Callback to execute if image has failed to load.

instance.destroy()

Destroy instance.

Browser support

Tested in Edge 15, Chrome 72 and Firefox 65, and should work in all modern browsers (support based on Browserslist configuration).

Test

For automated tests, run npm run test:automated (append :watch for watcher support).

License

MIT © Ivan Nikolić

3.0.0

3 years ago

2.0.0

4 years ago

1.0.0

5 years ago