gsap.utils
类型:对象
结合实用方法
gsap.utils
提供了一些出乎意料但非常有用的实用函数。请注意,其中许多函数可以选择性地返回函数,以便可以直接插入到补间动画中,利用GSAP的基于函数的功能。在这种情况下,它们将为每个目标调用一次,而不是对所有目标使用相同的最终值。
实用工具 | 描述 |
---|---|
checkPrefix() | 如果需要的话,为提供的CSS属性添加前缀(例如:checkPrefix("transform") -->"msTransform" 在IE9中运行时;如果该属性完全不受支持,则返回null)。 |
clamp() | 将数值限制在特定范围内(例如:clamp(0, 100, -12) -->0 )。 |
distribute() | 以线性方式或根据对象在网格中的位置(可选择应用缓动效果),在一组对象之间分配一个值。 |
getUnit() | 获取字符串中的单位(例如:getUnit("30px") -->"px" )。 |
interpolate() | 在几乎任意两个值之间进行插值(数字、颜色、字符串、数组、复杂字符串,甚至包含多个属性的对象)(例如:interpolate("red", "blue", 0.5) -->"rgba(128,0,128,1)" )。 |
mapRange() | 将一个范围映射到另一个范围(例如:mapRange(-10, 10, 0, 100, 5) -->75 )。 |
normalize() | 将一个范围内的数值映射到0到1之间的进度值(例如:normalize(100, 200, 150) -->0.5 )。 |
pipe() | 依次调用多个函数,将每个函数的结果传递给下一个函数(例如:pipe(clamp(0, 100), snap(5))(8) -->10 )。 |
random() | 基于参数生成一个随机数(例如:random(0, 100, 5) -->65 )或从提供的数组中随机选取一个元素(例如:random(["red", "green", "blue"]) -->"red" )。 |
selector() | 返回一个选择器函数它限定在一个特定的Element(或React ref或Angular ElementRef)范围内。(例如:selector(myElement) ) |
shuffle() | 原地打乱数组的内容。(例如:shuffle([1, 2, 3, 4, 5]) -->[4, 2, 1, 5, 3] ) |
snap() | 将一个数值吸附到某个增量(例如:snap(5, 13) -->15 )或数组中最接近的值(例如:snap([0, 5, 10], 7) -->5 )。 |
splitColor() | 将任何颜色拆分为红、绿、蓝(以及可选的透明度)分量,或者色相、饱和度和亮度。(例如:splitColor("red") -->[255, 0, 0] )。 |
toArray() | 几乎可以将任何类数组对象转换为数组,包括选择器文本!(例如:toArray(".class") -->[element1, element2] )。 |
unitize() | 包装另一个实用函数,使其能够接受带单位的值(例如:"20px" 或者"50%" ,在传入被包装的实用函数时去掉单位,然后在结果上重新加上单位(例如:var wrap = gsap.utils.unitize( gsap.utils.wrap(0, 100) ); wrap("150px"); -->"50px" )。或者强制指定一个特定单位(例如:unitize( gsap.utils.mapRange(-10, 10, 0, 100), "%"); --> 始终返回带有"%" )。 |
wrap() | 将一个数值放入指定范围内,当超出最大值时,它会循环回到起点;当小于最小值时,它会循环到末尾(例如:wrap(5, 10, 12) -->7 )。或者在数组中循环,当提供的索引大于数组长度时,它会循环回到起点(例如:wrap([0, 10, 20], 4) -->10 )。 |
wrapYoyo() | 将一个数值放入指定范围内,当超出最大值时,它会在起点和终点之间来回反弹;当小于最小值时,它也会在起点和终点之间来回反弹(例如:wrapYoyo(5, 10, 12) -->8 )。或者在数组中往复循环,当提供的索引大于数组长度时,它会往回反弹到起点(例如:wrap([0, 10, 20, 30], 4) -->20 ) |