HumbleScroll is a lightweight animation on scroll Javascript library. It's easy to use and has no dependencies. It's also very small, only 2kb gzipped.
Opacity from 0 to 1 - you know the drill.
data-hs
=
"fade up"
data-hs
=
"fade down"
data-hs
=
"fade right"
data-hs
=
"fade left"
data-hs
=
"fade"
data-hs
=
"fade up left"
Zoom in and out. Perfect for images.
data-hs
=
"zoom-in"
data-hs
=
"zoom-out"
data-hs
=
"zoom-out right up"
data-hs
=
"zoom-in left up"
Slide to the left, slide it to the right!
data-hs
=
"right"
data-hs
=
"left"
data-hs
=
"right up"
data-hs
=
"left up"
Who uses these? Here's four of them anyway.
data-hs
=
"flip-right"
data-hs
=
"flip-left"
data-hs
=
"flip-up"
data-hs
=
"flip-down"
Skew it to the left, skew it to the right! Combine with blur to make them feel blazingly fast.
data-hs
=
"skew-right fade right 2xl blur fast ease-out-back"
data-hs
=
"skew-left fade left 2xl blur fast ease-out-back"
data-hs
=
"skew-up fade up xl blur fast ease-out-back"
data-hs
=
"skew-down fade down xl blur fast ease-out-back"
Parent has overflow hidden and child slides from 100% to 0
data-hs
=
"reveal-up fade"
data-hs
=
"reveal-down fade"
data-hs
=
"reveal-right fade"
data-hs
=
"reveal-left fade"
We only ship with a few easings, but you can easily add your own.
data-hs
=
"ease-in fade up"
data-hs
=
"ease-out fade up"
data-hs
=
"ease-in-out fade up"
data-hs
=
"ease-out-back fade up"
Who doesn't like a good motion blur effect?
data-hs
=
"fade right blur"
data-hs
=
"zoom-in fade up blur"
data-hs
=
"fade left blur"
Gotta go fast! Scales from the global duration.
data-hs
=
"zoom-in fade up right blur 2xl slow"
data-hs
=
"fade up left blur 2xl extra-slow"
data-hs
=
"fade up right blur 2xl fast"
data-hs
=
"fade up left blur 2xl extra-fast"
Adjust delay for each item in a loop
--hs-delay: 000ms
--hs-delay: 100ms
--hs-delay: 200ms
--hs-delay: 300ms
--hs-delay: 400ms
--hs-delay: 500ms
--hs-delay: 600ms
--hs-delay: 700ms
Stays visible even with repeat or mirror enabled
data-hs
=
"fade up once"
data-hs
=
"fade up"
Reponsive animations based on breakpoints. Use phone:, tablet: or desktop: prefix to target specific devices.
data-hs
=
"fade phone:left tablet:up"
data-hs
=
"fade up desktop:down"
Call a function when the element is visible. In this example I have a function called myFunction in main.js - easy right?
data-hs-call
=
"myFunction"