【发布时间】:2021-03-01 10:17:19
【问题描述】:
我正在尝试将 framer-motion 与 reactjs + 样式组件一起学习。我想知道如何在 div 的背景图像上添加平滑的动画/过渡。
这是我尝试过的变体:
const parentVariants = {
car: {
backgroundImage: `url(${CarImage})`,
transition: {duration: 0.5}
},
house: {
backgroundImage: `url(${HouseImage})`,
transition: {duration: 0.5}
},
mountain: {
backgroundImage: `url(${MountainImage})`,
transition: {duration: 0.5}
}
}
const Test = () => {
const [background, setBackground] = useState('car')
const changeBackground = (image) => setBackground(image)
return (
<Parent
variants={parentVariants}
initial='car'
animate={`${background}`}
>
<Car onMouseEnter={() => changeBackground('car')}>Car</Car>
<House onMouseEnter={() => changeBackground('house')}>House</House>
<Mountain onMouseEnter={() => changeBackground('mountain')}>Mountain</Mountain>
</Parent>
)
}
但显然,没有发生平滑过渡。背景图像立即改变了。
【问题讨论】:
标签: reactjs framer-motion