路径切换补间动画

该示例演示了如何使用 SVG <path> 元素的属性 getPointAtLength 对路径进行插值,以创建路径切换的补间动画。

为了便于插值,对(过渡开始时的)source path 原始路径和(过渡结束时的)target path 目标路径进行均匀采样(可配置采样的精度,此处为 4px),在过渡期间将曲线替换为分段的 linear curve 线性曲线(实际是将采样所得的相邻数据点相连,形成一系列的线段)或 polyline 折线。过渡完成后,再将 <path> 恢复为原始的三次贝塞尔曲线。

这种实现路径切换补间动画的方法通用性很强,它适用于任何类型的路径(无论是曲线还是折线,只要路径可以通过 <path> 元素的属性 d 来表示即可)。

首页 参考 代码 笔记