測試網站 · GSAP 技能實測 非商業頁
GSAP SKILLS · LIVE TEST

8 個 GSAP 技能
即場實測驗證

呢頁嘅每一段動畫都係照官方 skill 寫:timeline+labels+position 參數、ScrollTrigger pin/scrub、 batch 分批進場、containerAnimation 橫向捲動、matchMedia 響應式、SVG 描邊、autoAlpha 同 transform aliases。 下面嘅「自我測試」面板會即場報實際數字。

0GSAP 版本
0ScrollTrigger 實例
0batch 已進場卡片
0活動中補間
timeline + labelsposition 參數 autoAlphatransform aliases immediateRender:false

① ScrollTrigger.batch — 分批進場

用 interval 0.1 + batchMax 4,一次過收集同時入畫面嘅卡再一齊 stagger;取代 IntersectionObserver。

BATCH 01

gsap-core

to/from/fromTo、ease、stagger、autoAlpha、transform aliases。

BATCH 02

gsap-timeline

timeline 建構、position 參數、label、defaults、playback 控制。

BATCH 03

gsap-scrolltrigger

pin、scrub、batch、toggleActions、refresh。

BATCH 04

gsap-plugins

外掛註冊機制(本頁只用核心+ScrollTrigger)。

BATCH 05

gsap-utils

clamp/mapRange/snap/toArray(此處手算百分比)。

BATCH 06

gsap-performance

只動 transform/opacity、will-change、overwrite 免打架。

BATCH 07

gsap-react

useGSAP + cleanup(本頁為原生 JS)。

BATCH 08

gsap-frameworks

Vue/Svelte 生命週期清理對應做法。

01 · PIN

pin 住整個 section(pinSpacing 預設 true),只動裡面嘅 track,唔動被 pin 嘅元素。

02 · ease: none

橫向補間必須用 ease:"none",否則捲動量同橫向位置對唔上。

03 · containerAnimation

子元素用 containerAnimation 跟住橫向動畫觸發,做到一路橫掃一路亮燈。

04 · xPercent

用 xPercent 而唔係 width/left,保持只動 transform。

05 · refresh

字型/圖片載入後再 ScrollTrigger.refresh(),避免觸發點飄移。

② scrub + pin — 進度綁定捲動

ScrollTrigger 掛喺 timeline(唔係 child tween),scrub:1 令動畫有 1 秒追趕感。

進度條同光環都由同一個 scrubbed timeline 驅動;pin 期間只動子元素。

TIMELINE + SCROLLTRIGGER

正確寫法

gsap.timeline({ scrollTrigger:{ trigger, pin:true, scrub:1 } })
 .to(...) .to(...)

❌ 錯:gsap.timeline().to(..., { scrollTrigger:{...} })

③ SVG 描邊 + immediateRender:false

用核心 CSS 屬性 strokeDasharray/strokeDashoffset 畫線;同一個屬性疊兩個 from() 時,後面嗰個要設 immediateRender:false。

④ gsap.matchMedia — 響應式+減少動態

用條件物件一次處理 desktop/mobile/prefers-reduced-motion;唔符合就會自動 revert。

CONDITION

實際命中

量度中…

ACCESSIBILITY

減少動態

偵測到 prefers-reduced-motion 時,duration 會變 0(唔會硬播動畫)。

⑤ 自我測試報告(即場數字)

呢頁自己報實際運行數據 —— 證明 skills 內容真係落地生效。

量度中…