跳过主要内容

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)
无噪 Logo
无噪文档
中文文档 · 复刻官网
查看所有 ↗