A simple thing for triggering 'them scroll effects that everybody loves
npm install @apatheticwes/scrollify> Scrollify. Do things on scroll. 4KB minified and gzipped. There are no dependencies; you do not need jQuery; you do not need TweenMax.
Well, whatever you want. Common effects such as parallax or toggling a class on/off are possible and bundled within. However, you may also easily create your own custom scroll function, and pass it in to Scrollify. The built-in effects include:
- Stick: sticks an element to a particular point and holds in there for a pre-defined number of pixels.
- Parallax: move stuff on scroll. A subtle effect that transitions elements more slowly (or perhaps quickly) than the speed of the user-scroll.
- Toggle: turn a CSS class on or off if the element crosses a particular threshold on the page.
- Translate: translate an element along the X- or Y- axis.
- Rotate: rotate an element via scroll.
- Scale: scale an element.
- Fade: change an element's opacity.
window.addEventListener('load'...` rather than the more common `'DOMContentLoaded'`.Demo
First, install dependencies and spin up a webserver via
`npm i && npm start`. Navigate to `localhost:8080/demo` to check out the demos. Code samples are therein.Getting Started
Either:
* npm:
`npm i @hugeinc/scrollify`
* github: download it from Github.Support
* IE9+
* Safari / Chrome
* FirefoxTODO
* sticky effect glitchy on resize
* relative units "+=", "-=", etc
* getComputedStyle to avoid defining default vals
* simplify API for effects / options definitionRelease History
$3
* DOM helpers added; no longer req'd to use JS API to add effects and scenes$3
* modifying included helpers; now values are curried in vs. previous reliance on this` for context