https://github.com/lukeed/onloaded
A tiny (350B) library to detect when images have loaded.
https://github.com/lukeed/onloaded
images imagesloaded is-loading javascript lightweight ready
Last synced: 8 months ago
JSON representation
A tiny (350B) library to detect when images have loaded.
- Host: GitHub
- URL: https://github.com/lukeed/onloaded
- Owner: lukeed
- License: mit
- Created: 2017-07-31T18:02:50.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-12-03T19:54:55.000Z (over 6 years ago)
- Last Synced: 2025-05-25T05:45:09.335Z (about 1 year ago)
- Topics: images, imagesloaded, is-loading, javascript, lightweight, ready
- Language: JavaScript
- Homepage: https://jsfiddle.net/lukeed/8njejbjz/
- Size: 6.84 KB
- Stars: 39
- Watchers: 2
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# onloaded
> A tiny (350B) library to detect when images have loaded
[Demo](https://jsfiddle.net/lukeed/8njejbjz/)
This module exposes three module definitions:
* **ES Module**: `dist/onloaded.es.js`
* **CommonJS**: `dist/onloaded.js`
* **UMD**: `dist/onloaded.min.js`
If using the UMD bundle, the library is exposed as `onloaded` globally.
## Install
```
$ npm install --save onloaded
```
## Usage
```js
const onloaded = require('onloaded');
// passing a selector to `elem`
onloaded('#container > img', {
onLoad(img) {
img.className += ' loaded';
},
onError(img) {
img.className += ' failed';
},
onProgress(val) {
console.log(`I am ${ val * 100 }% complete!`);
},
onComplete(val, stats) {
// val is always 1 ~~> 100%
console.log('This callback always runs!');
console.log(` ${stats.loaded} loaded`);
console.log(` ${stats.failed} failed`);
console.log(` ${stats.total} total`);
}
});
```
> **Note:** Visit [`elem`](#elem) for other possibilities!
## API
### onloaded(elem, options)
#### elem
Type: `String|Node|NodeList`
You have several options here:
1. Pass a selector string to `img` element(s);
```js
onloaded('.container img', { ... });
```
2. Pass a reference to a specific `
` DOM Node;
```js
var img = document.querySelector('.container img');
onloaded(img, { ... });
```
3. Pass a reference to a multiple `
` DOM Nodes;
```js
var imgs = document.querySelectorAll('.container img');
onloaded(imgs, { ... });
```
4. Pass a reference to a container DOM Node that contains `
` elements;
```js
var parent = document.querySelector('.container');
onloaded(parent, { ... });
```
#### options.onError(node)
Type: `Function`
Callback whenever an image source failed to load. Receives the `
` DOM node;
#### options.onLoad(node)
Type: `Function`
Callback whenever an image source sucessfully loads. Receives the `
` DOM node;
#### options.onProgress(val, stats)
Type: `Function`
Callback whenever an image's network request has completed, regardless of success or failure.
Receives the current "progress" of completed requests as a decimal.
Also receives a `stats` object with `loaded`, `failed`, and `total` keys.
#### options.onComplete(val, stats)
Type: `Function`
Callback when _all_ network requests have completed, regardless of success or failure.
Receives the "progress" as its first parameter. This will always equal `1`.
Also receives a `stats` object with `loaded`, `failed`, and `total` keys.
## License
MIT © [Luke Edwards](https://lukeed.com)