1.類型:Object
gsap.utils提供了對一些非常有用的實用程序函數的訪問。注意,它們中的許多可以選擇返回函數,以便可以直接插入到補間中,利用GSAP基于函數的功能。在這種情況下,它們將為每個目標調用一次,而不是對所有目標都使用相同的結束值。
2.方法集合
checkPrefix():在必要時為所提供的CSS屬性添加前綴(例如:checkPrefix("transform")——> "msTransform"當在IE9中運行時;如果根本不支持該屬性則返回null)。
clamp():鉗制一個值以適應特定的范圍(例如:clamp(0,100, -12)——> 0)。
distribute():線性或根據對象在網格中的位置在對象數組中分配值,可選地應用了easing。
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():返回一個范圍為特定元素(或React ref或Angular ElementRef)的選擇器函數。(例:選擇器(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():將任何顏色拆分為紅色、綠色、藍色(可選的alpha)組件。或者色相、飽和度和亮度。(例如: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"). 或者強制指定單位 (ex: 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)
3.應用示例詳解參考
示例詳解