【发布时间】:2022-10-17 14:06:05
【问题描述】:
framer-motion 允许您将 drag="x" 添加到运动元素,然后您可以沿 x 轴拖动。这是通过根据用户拖动的距离更改transform: translateX(...px) 来实现的。
这允许轻松创建滑块。
有一些关于如何使用 framer-motion 实现无限轮播滑块(无开始/无结束 - 最后一个项目后跟第一个)的示例 - 但只有一个项目可见。
有没有办法创建一个无限轮播滑块,同时显示多个项目?
我需要使用 framer-motion,因为滑块项目必须使用 framer-motion 进行动画处理,并且 framer-motion 动画不适用于 Splide 等其他滑块库。
其他框架(如 Splide)已将项目左右克隆到滑块中的原始项目,当到达原始项目的末尾时, translateX 坐标会重置。 演示:https://imgur.com/a/rT0mQy8
据我所知,只能通过useAnimation 钩子来操作运动元素的 translateX,该钩子在用户拖动时不起作用。
【问题讨论】:
标签: javascript slider framer-motion