gpt4 book ai didi

Framer motion animates smoothly based on tailwind classes, but not when specifying values using animate(框架运动基于顺风类平滑地设置动画,但在使用Animate指定值时不会)

转载 作者:bug小助手 更新时间:2023-10-24 19:36:27 24 4
gpt4 key购买 nike



I got framer motion to animate smoothly based on className, but when I take the values of those class names and set them explicitly in Animate, they no longer animate smoothly.

我得到了基于类名称的流畅动画的框架运动,但当我获取那些类名的值并将它们显式地设置在Animate中时,它们不再流畅地动画。


As you can see, I took the values that the tailwind classnames were providing, and tried to add them to a Variants object. Whereas swapping the classnames resulted in smooth transitions, setting them via props jumps around.

如您所见,我获取了顺风类名称提供的值,并尝试将它们添加到Variants对象中。而交换类名则会导致平稳的过渡,而通过道具设置它们则会跳来跳去。


works:

作品:


const containerStyle = ` ${isMaximized ? 'fixed inset-0' : ' aspect-[16/9]'}`;
const motionDivStyle = isMaximized ? 'h-screen w-screen' : 'h-full';

return (
<div className="aspect-[16/9]">
<AnimatePresence>
<div className={containerStyle} onClick={() => {
setIsMaximized(!isMaximized)
}}>
<motion.div
whileHover={{ cursor: 'pointer' }}
layout
transition={trans}
className={`${message[i]} ${motionDivStyle}`}
>
<motion.div layout="position">hello</motion.div>
</motion.div>
</div>
</AnimatePresence>
</div>
);
};

does not work:

不起作用:


  const variants: Variants = {
maximized: {
position: 'fixed',
inset: '0px',
aspectRatio: 'auto'
},
minimized: {
position: 'static',
inset: 'auto',
aspectRatio: '16/9'
}
}

return (
<div className="aspect-[16/9]">

<motion.div onClick={() => {
setIsMaximized(!isMaximized)
}}

transition={trans}
initial={'minimized'}
variants={variants}
animate={isMaximized ? 'maximized' : 'minimized'
}
>

更多回答
优秀答案推荐
更多回答

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com