Comments (2)
I believe I've figured it out:
const parallaxElements = parallaxController?.getElements();
const refId = parallaxElements?.find((entry) => entry.el.isEqualNode(ref.current))?.id || 0;
parallaxController?.updateElementPropsById(refId, newProps);
But it would be nice to update the docs informing where does this id come from
from react-scroll-parallax.
There's no need to do all this extra work. Just use the tools React gives you to pass in new values to the useParallax
hook. It will do all this updating for you automatically.
See the example below, which adds an isMobile
state which is then updated by the resize event listener. If isMobile
is true, we pass a different set of scale
values to the parallax hook.
function Example() {
const [isMobile, setIsMobile] = useState(false);
const { ref } = useParallax<HTMLDivElement>({
// change any values based on React state
scale: isMobile ? [2, 1] : [1, 2]
});
function handleResize() {
if (window.innerWidth < MOBILE_MAX_WIDTH) {
setIsMobile(true);
} else {
setIsMobile(false);
}
}
useEffect(() => {
window.addEventListener("resize", handleResize);
return () => {
window.removeEventListener("resize", handleResize);
};
}, []);
return (
<div className="parallax-element" ref={ref}>
);
}
Here's the working CodeSandbox using the code example above.
Hope that helps.
from react-scroll-parallax.
Related Issues (20)
- with react-custom-scrollbars HOT 1
- It always run onEnter at the beginning. HOT 1
- Mac OS - Scrolling only updates once you stop scrolling HOT 2
- Add `disabled` prop to `ParallaxProvider` HOT 1
- Not working with CRA or Create Next App HOT 3
- Stop the effect at a given position HOT 7
- Scrolling beyond a `scrollStart` or `scrollEnd` value does not update the affected property to final value HOT 1
- Styles not defined in documentation HOT 1
- Next Js 13.5 Effects are not being rendered HOT 16
- Cannot read properties of undefined (reading 'destroy') on live reload HOT 14
- Parallax effect not working in nextjs 13 HOT 6
- onLoad function does not fire on image layers HOT 1
- Could not find `react-scroll-parallax` context value. Please ensure the component is wrapped in a <ParallaxProvider> HOT 11
- Is it possible to animate custom properties? HOT 1
- Animation Position Issue with Sticky Container on Tab Change HOT 1
- Flickering when browser toolbar is shown/hidden HOT 2
- Can you do parallax and the image will remain fixed postion? HOT 1
- 如何解决滚动时结束了,页面会抖动的问题? HOT 1
- Can I do static parallax picture?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-scroll-parallax.