ScrollTrigger.create khác gì so với và scrollTrigger trong gsap.to (ok)
✅ 1. ScrollTrigger.create()
ScrollTrigger.create()
🔧 Cách hoạt động
Tạo một ScrollTrigger độc lập, không gắn trực tiếp vào animation nào.
Dùng để:
Trigger function (onEnter, onLeave…)
Pin phần tử
Kết hợp timeline
Thực hiện logic scroll-based mà không cần animation gsap.to() riêng lẻ
✨ Example
jsCopyEditScrollTrigger.create({
trigger: ".section",
start: "top center",
end: "bottom top",
pin: true,
scrub: true,
onEnter: () => console.log("Entered!"),
onLeave: () => console.log("Leaved!")
});
✅ Ý nghĩa: Pin section, scrub, và chạy console log khi scroll đến hoặc rời section.
✅ 2. scrollTrigger
bên trong gsap.to()
scrollTrigger
bên trong gsap.to()
🔧 Cách hoạt động
Tạo ScrollTrigger gắn trực tiếp với animation mà
gsap.to()
khai báo.Khi ScrollTrigger kích hoạt → chạy animation đó.
✨ Example
jsCopyEditgsap.to(".box", {
x: 300,
opacity: 1,
duration: 1,
scrollTrigger: {
trigger: ".box",
start: "top 80%",
end: "bottom top",
scrub: true,
markers: true
}
});
✅ Ý nghĩa: Khi scroll đến .box
, animate x và opacity theo scrub.
🔬 3. Khác nhau về bản chất
ScrollTrigger.create()
scrollTrigger in gsap.to()
Bản chất
Tạo ScrollTrigger độc lập
Gắn ScrollTrigger vào 1 animation gsap
Animation
Không có animation nếu không kết hợp timeline
Animation chạy theo gsap.to() config
Use case
Pin, onEnter, call function, kết hợp timeline
Animate property khi scroll đến trigger
✅ 4. Kết hợp Timeline + ScrollTrigger.create()
jsCopyEditconst tl = gsap.timeline({
scrollTrigger: {
trigger: ".section",
start: "top top",
end: "+=500",
scrub: true,
pin: true
}
});
tl.to(".box", { x: 300 })
.to(".box", { opacity: 0 });
✅ Ý nghĩa: ScrollTrigger điều khiển toàn timeline, không cần gắn scrollTrigger vào từng gsap.to() riêng lẻ.
🎯 5. Tóm tắt
ScrollTrigger độc lập (pin, callback, control layout)
ScrollTrigger.create()
Animate property khi scroll đến trigger
gsap.to({ scrollTrigger: { ... }})
Animation phức tạp nhiều step
Timeline + ScrollTrigger (thường kết hợp ScrollTrigger.create() trong timeline config)
Nếu bạn muốn, tôi có thể viết full bài học Timeline + ScrollTrigger + gsap.to vs ScrollTrigger.create chuẩn production cho dự án GSAP tuần này. Hãy cho tôi biết để tôi triển khai chi tiết cho lộ trình frontend animation của bạn.
Ask ChatGPT
Last updated
Was this helpful?