/universal-parallax

Easy parallax plugin using pure javascript. Also works on mobile platforms. Cross browser support.

MIT LicenseMIT

Universal Parallax

Easy parallax plugin using pure javascript. Cross browser compatibility, including mobile platforms (iOS, Android). Support for opaque backgrounds.

⚡ Features

  • Easy setup
  • Pure JavaScript
  • Adaptive height
  • Works on mobile devices
  • Can have opacity without affecting content

💾 Install

$ npm i universal-parallax -S

🚀 Setup

#1

Include the script at the bottom of your project

<script src="node_modules/universal-parallax/dist/universal-parallax.min.js"></script>

#2

Choose between:

  • Include this in your <head> section
<link href="node_modules/universal-parallax/dist/universal-parallax.min.css" rel="stylesheet">
  • Or add this CSS
.parallax__container {
	clip: rect(0, auto, auto, 0);
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -100;
}

.parallax {
	position: fixed;
	top: 0;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	width: 100%;

	/* BG behaviour */
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

BG behaviour in seperate class gives more flexibility controlling them

#3

If <section> is your container, make the parallax element inside it

<section>
	<div class="parallax" data-parallax-image="path/to/your_image">
</section>

⚡ You can also use background-image to define your image instead of using data-parallax-image=""

#4

Initialize the JS function

new universalParallax().init();

That's it! 🏁

Custom speed

You can change the parallax speed; the higher the number, the slower the parallax effect

new universalParallax().init({
	speed: 6.0
});

speed: 1 is the minimum value before the background image is fixed

Opacity

Transparency can be added and it won't affect the opacity of your content.

.parallax {
	opacity: 0.5;
}