• Stars
    star
    107
  • Rank 323,587 (Top 7 %)
  • Language
  • License
    MIT License
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

npm version Package Quality

Universal Parallax

Easy parallax plugin using pure javascript. Lightweight (2kb) and cross browser compatibility - including mobile platforms (iOS, Android).

See demo

⚑ Features

  • Easy setup
  • Pure JavaScript
  • Adaptive height
  • Works on mobile devices
  • Lightweight (2kb minified)

πŸ’Ύ Install

$ npm i universal-parallax -S

πŸš€ Setup

#1

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);
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	width: 100%;

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

⚑ BG behaviour in seperate class gives more flexibility controlling them ⚑ SASS version available in /dist folder

#2

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=""

#3

Include the script to your project

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

#4

Initialize the JS function

<script>
	new universalParallax().init();
</script>

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

Tips

Opacity

If you want your backround color to shine through or dampen the image without making it a .png - just add transparency to it

.parallax {
	opacity: 0.5;
}