Create lazy loading request or element like image, iframe, video... Make custom animation on lazy and not lazy element on all browser. You can also use our animations included in the lib. All of that just with html attributes.
npm install lazy-attr
html
`
🎉 Update
---
- See CHANGELOG
📚 Documentation & Demo
---
- Github website documentation and demo
💻 Import
---
$3
`js
import lazyattr from "lazy-attr";
import "lazy-attr/dist/lazy-attr-animation.css";
//Vue.use(lazyattr)
`
$3
`html
`
$3
`html
`
Events
---
- lazy-loaded When the element is matched
- lazy-quit When the element is not matched
Lazy request
---
- You can add lazy-reset if you want to dispatch the event not just once time
`html
`
`js
document.querySelector('#cars').addEventListener('lazy-loaded', function(event){
const target = event.target;
target.textContent = "Hey I'm lazy";
});
`
Class
---
- You can set a class lazyattr wich be transform in lazyloaded after the element is loaded (work on the pointer and parent)
- You can make a beatiful skeleton loader with lazy-skeleton, lazy-skeleton-corner and lazy-skeleton-top class
Skeletons
---
- To set a skeleton loader on an image pls set it on his parent. After you need to put lazy-animation-pointer="#parent" on the image to remove it after load.
- Set a skeleton loader on a div with lazy-background will automatically remove it after load.
Attributes
---
Image, iframe and video
| Parameters | Usage |
|:-----------------------:|:--------------------------------------------------------------------------------------------:|
| lazy-observe | Just observe the element to do lazy request for example |
| lazy-reset | Reset the animation on scroll |
| lazy-srcset | Same as srcset attribute |
| lazy-src | Image soucre \| iframe source \| video source |
| lazy-background | Image source to make a lazy background image |
| lazy-size-width | Minimum width size |
| lazy-size-height | Minimum height size |
| lazy-animation | Animation to lauch after full load of element |
| lazy-animation-time | Animation duration (time in ms) |
| lazy-animation-delay | Animation delay (time in ms) |
| lazy-animation-pointer | Wich element will be animated after the lazy element is load (expl: "#id", ".class", "tag") |
| lazy-animation-function | Animation timing function like css |
| lazy-animation-count | Animation repeatition like css (expl: infinite) |
Video
| Parameters | Usage |
|:----------:|:-----------------------------------------------:|
| lazy-video | Put a poster while user dont click on the video |
$3
| Parameters | Usage |
|:-----------:|:-----------------------------------------------:|
| lazy-embed | Iframe link |
| lazy-poster | Put a poster while user dont click on the video |
Methods
---
window.lazy()
| Parameters | Usage |
|:------------------------:|:----------------------------------------:|
| version | Get actual version of lazy-attr |
| parameters | Get all possible attributes of lazy-attr |
| animations | Get all animations |
Animations
---
$3
- Demo
$3
`html
`
$3
`json
zoomin
zoomout
opacity
slide-left
slide-right
slide-bottom
slide-top
corner-top-left
corner-top-right
corner-bottom-left
corner-bottom-right
shake
rotate
blur
flip
flip-up
`
$3
`css
.my-name{
opacity: 0;
animation: animation-name 1s forwards;
}
@keyframes animation-name{
100%{
opacity: 1;
}
}
`
$3
- Work on scale and slide animations
- By default it's:
`css
:root{
--slide-start: 33%;
--slide-velocity: 7px;
--scale-velocity: 0.035;
--scale-start: 0.4;
}
``