ExpoScaleEase
快速入门
CDN 链接
gsap.registerPlugin(EasePack)
最简用法
// we're starting at a scale of 1 and animating to 2, so pass those into config()...
gsap.to("#image", { duration: 1, scale: 2, ease: "expoScale(1, 2)" });
不包含在核心库中
此缓动效果包含在 EasePack 文件中。要了解如何在项目中使用它,请参见安装页面.
描述
当你对一个对象的scale
进行动画时会发生一个有趣的现象即使使用线性缓动(linear ease); ExpoScaleEase
通过相应地弯曲缓动曲线来补偿这种效果。这是实现丝滑缩放/平滑缩放动画的关键。
视频讲解
操作指南
配置(Configuration)
为了让 ExpoScaleEase 创建正确的缓动曲线,你必须传入起始和结束缩放值,并且需要以字符串形式写入,例如:
// we're starting at a scale of 1 and animating to 2, so pass those into config()...
gsap.to("#image", { duration: 1, scale: 2, ease: "expoScale(1, 2)" });
它还可以接受第三个参数,即你希望它弯曲的缓动函数(默认是"none"
)。例如,如果你想使用"power2.inOut"
,你的代码看起来应该是这样的:
//scale from 0.5 to 3 using "power2.inOut" ...
gsap.fromTo(
"#image",
{ scale: 0.5 },
{ duration: 1, scale: 3, ease: "expoScale(0.5, 3, power2.inOut)" }
);
注意:传递给config()
方法的缩放值必须是非零的因为数学计算无法处理 0。你可以使用像 0.01 这样的小数值替代。使用一个极其微小的数字如 0.00000001 可能不是最佳选择,因为大部分补间动画会花费在非常小的数值区间内。