【发布时间】:2021-02-06 06:28:36
【问题描述】:
【问题讨论】:
【问题讨论】:
由于您没有代码,我的答案将是理论上如何去做。 所以首先你应该有一个布尔状态,你可以切换到活动状态。这种状态应该由容器控制。这样你一次只能激活一个。
接下来你应该得到 2 个值,容器的 X 滚动位置和画廊可见区域的中心点。
然后你可以只计算安装时的偏移量,然后是画廊的 X 滚动。
所以理论上它从 0 开始,您的容器是 500px,您知道活动幻灯片位于 250px 标记处,因此您可以根据幻灯片的位置计算出它应该是最后一张通过该点的幻灯片。然后只需在滚动时重新计算此值。 (可能是油门)
我之前在 Y 轴上使用过这个反应钩子。我不是 100% 确定它适用于 X 卷轴。但这可能是在每张幻灯片上触发状态更改的好方法。唯一的问题是您将为每张幻灯片添加一个事件侦听器(可能会影响性能)。
你可以看到那个lib here
这个让每个滑动控制它自己的 inView 状态。
【讨论】: