Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
parallax-react-js
Advanced tools
A libary for managing scroll speed of different components in react.
A libary for managing scroll speed of different components in react.
I recently found myself creating a site in react together with a friend of mine (Max Lukonin) and wanting to implement a parallax effect. We tried a few different libaries, pure css and everything else but it just did not work.
So we decided to create our own libary.
This project is a collaboration between me (Instagram, Github) and Max Lukonin (Instagram, Github). He's a very talented guy. Check out his other project playretrogames.net (Website) where you can play all kinds of fun retro games. I personally recommend mario kart :D
You can install parallax-react-js normally through npm:
npm install parallax-react-js
Alternatively you can also install parallax-react-js directyl from the source code:
git clone https://github.com/juliuswaldmann/parallax-react-js.git
npm run build
npm pack
to create a .tgz file of the package (npm link
DOES NOT work. You have to use npm pack
).npm install TARBALL
where TARBALL
is the path to the .tgz file npm pack
created.parallax-react-js exposes two components: ParallaxContainer and ParallaxLayer. To use them just import them like this:
import {ParallaxContainer, ParallaxLayer} from 'parallax-react-js';
ParallaxContainer must be the scrollable element. To create a parallax effect you must wrapp your ParallaxLayers with ParallaxContainer
import {ParallaxContainer, ParallaxLayer} from 'parallax-react-js';
function Site () {
return (
<div className="Site">
<ParallaxContainer> //Wrapp your ParallaxLayers in ParallaxContainer.
//Each ParallaxLayer can have it's own children, own speed and own zIndex.
<ParallaxLayer> //fist layer
//Your children of the first layer
//...
</ParallaxLayer>
<ParallaxLayer> //second layer
//Your children of the second layer
//...
</ParallaxLayer>
//...
</ParallaxContainer>
</div>
)
}
If you've followed along you may have noticed that each Layer just scrolls at the usual scroll speed. This is because we haven't provided a "speed" value yet.
//...
<ParallaxContainer>
<ParallaxLayer speed="120%"> //this layer has a scroll speed of 120%
//...
</ParallaxLayer>
<ParallaxLayer speed="80%"> //this layer has a scroll speed of 80%
//...
</ParallaxLayer
</ParallaxContainer>
//...
As you can see the "speed" value is a percentage that describes the scroll speed of the children realtive to the normal scroll speed. A ParallaxLayer with a speed value of 120% percent scrolls 1.2 times faster than normal, a layer with the speed value 50% scrolls half as fast. The scroll value defaults to 100% (normal scroll speed). You can also provide negative values for some really strange behaviour :D.
But what if we want to specify which elements are in the front and which are in the back? We have a solution for that! You can just provide a "zIndex" value.
//...
<ParallaxLayer speed="80%" zIndex={2}> //this layer has a zIndex of 2
//...
</ParallaxLayer>
//...
If you are familiar with css you may know z-index. It specifies which elements are on top of whith. zIndex specifies the z-index of the ParallaxLayer main div. The higher the zIndex value the "more in front" the element is. If one Layer has a zIndex of -1 and another a zIndex of 0 the one with the zIndex of 0 is in front. If another one has a zIndex of 2 that one is even more in front. If you don't provide a zIndex the value defaults to 0 (just like in css)
This code is licensed under the MIT license. For further Information read the LICENSE file.
MIT Licensed. Copyright (c) Julius Waldmann & Max Lukonin 2021.
FAQs
A libary for managing scroll speed of different components in react.
The npm package parallax-react-js receives a total of 2 weekly downloads. As such, parallax-react-js popularity was classified as not popular.
We found that parallax-react-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.