我正在try 使用样式化的组件和react制作一个大约this的滚动动画.我的策略是减少transform:scale(1)的值,这样当用户向下滚动图像时,图像的宽度和高度将减小,并将获得类似的效果.为此,我需要访问该属性并在函数中使用它,然后在useEffect挂钩中使用它.我查看了样式化组件的文档,但我想我遗漏了一些东西.代码如下:
const AnimationImg = styled.img.attrs((props) => ({ src: props.src }))`
position: absolute;
top: 0;
object-fit: cover;
transform: scale(1);
transform-origin: 49% 50%;
`;
const Animation = () => {
//Scroll positionu yakalamami sagliyor.
const [scrollPosition, setScrollPosition] = useState(0);
const [zoom, setZoom] = useState(1);
const handleScroll = () => {
const position = window.pageYOffset;
setScrollPosition(position);
};
const handleZoom = () => {
if (scrollPosition >= 2000 && handleScroll) {
// function here
}
};
zoom 逻辑:
const handleZoom = () => {
if (scrollPosition >= 2000 && handleScroll) {
setZoom(zoom - 0.001);
}
};