Home

Awesome

Parallaxify

Such deep. Very scroll. Wow background.

Parallaxify allow you to add parallax effect to background images when scrolling. It's a simple standalone JavaScript module (no jQuery or similar required) that is less thant 1kb (minified & gzipped).

Installation

You can install parallaxify from npm

$ npm install parallaxify

Or using bower

$ bower install parallaxify

Parallaxify can obviously be downloaded directly.

No dependencies

There is nothing you need. No jQuery or something.

Compatibility

Parallaxify should work with IE < 9 if you add window.getComputedStyle polyfill.

Usage

new Parallaxify({
  elements: ".js-Parallaxify" // default
, backgroundYMin: 100 // default
, backgroundYMax: 0 // default
}).registerUpdate()

This will enable Parallaxify on this kind of HTML elements

<div class="js-Parallaxify"></div>

Note that the elements must have content or width/height. See the example page to check what you might need.

Options

elements (String or Array, default ".js-Parallaxify")

CSS Selector to use to retrieve elements to apply Parallaxify. Can be an array of elements, an HTMLCollection, or a NodeList.

new Parallaxify({ elements: document.getElementsByClassName(".parallax") }

backgroundYMin (Integer, default 100)

Default background position Y value when the element appears in the viewport.
Can be define for each elements using data-parallaxify-y-min.
See the test page for examples.

backgroundYMax (Integer, default 0)

Background position Y value when the element appears in the viewport.
Can be define for each elements using data-parallaxify-y-max.
See the test page for examples.

API

Parallaxify.toArray()

Transform HTMLCollection, NodeList or similar to an array of DOM elements.

Parallaxify.prototype.update()

Just update Parallaxify elements.
You don't need to use this method unless you want to have full control of Parallaxify behavior.

Parallaxify.prototype.requestUpdate()

Used to call update() method through requestAnimationFrame().

Parallaxify.prototype.registerUpdate()

Use this function to enable Parallaxify automatically requestUpdate(). It create a requestAnimationFrame loop but trigger update only if scroll have changed (just using window scroll give laggy results), This will also attach the same behavior to window resize. Just to be sure.

If you don't want to make a requestAnimationFrameLoop, you can eventually listen window scroll/resize & trigger update() and can skip registerUpdate()/requestUpdate(). Note that it will probably result to more laggy results.


Changelog

Contributing

Please read the file nobody reads (make me lie) CONTRIBUTING.md

tl;dr;

Fork, clone, then

$ npm i -g gulp
$ npm i
$ gulp

Now you can work on the file, then make a commit and a push something when gulp doesn't show any error. Thanks.

License