🥰Giải thích dễ hiểu onEnter, onLeave, sử dụng start, end như nào FULL Phần 1 (ok)
ScrollTrigger.create({
trigger: ".section",
start: "top center",
end: "bottom top",
pin: true,
scrub: true,
onEnter: () => console.log("Entered!"),
onLeave: () => console.log("Leaved!")
});
Nghiên cứu các chỉ số start, end
Scroller Start 1: "top top" và end: "bottom bottom"
const heroSt = ScrollTrigger.create({
trigger: ".hero",
start: "top top",
end: "bottom bottom",
pin: true,
pinSpacing: false,
markers: true,
onEnter: () => console.log("Entered!"),
onLeave: () => console.log("Leaved!")
});
Scroller Start 2: "top center" và end: "bottom bottom"

Scroller Start 3: "top 250" và end: "bottom bottom"
Start 1: "top 150" và end: "bottom bottom"


Start 2: "center 150" và end: "bottom bottom"

Start 3: "100 150" và end: "bottom bottom"

Cách hoạt động của onEnter, onLeave
— Cách hoạt động của onEnter dựa vào start tràn ra mốc Scroller-Start (chý ý tràn phía dưới Scroller-End không có tác dụng)


— Cách hoạt động của onLeave dựa vào end tràn ra mốc Scroller-End (chý ý tràn phía dưới Scroller-Start không có tác dụng)

Đặc biệt 1: khi sử dụng đảo chiều nhau. (trường hợp này chỉ hoạt động duy nhất khi start vượt qua Scroller Start)
Nó chỉ sảy ra khi Start vượt qua Scroller Start (không sảy ra khi end vượt qua Scroll End hoặc Start vượt qua Scroll End tóm lại Start chỉ làm việc với Scroller Start)



Đặc biệt 2: Sử dụng endTrigger

Đặc biệt 3: Sử dụng endTrigger dạng đảo chiều (khi này ta thấy start, end đều hoạt động)


Tiếp tục nghiên cứu hành động sau khi trả về kết quả thứ nhất 1

Sử dụng start, end trong kết quả đề sử dụng luôn cho đồng thời khối áp dụng sau

Chú ý 1.1: Nếu không định nghĩa Start hoặc End thì mặc định Scroller Start, Scroller End sẽ ở phía cuối cùng tức là tương ứng "bottom bottom" (xem ảnh 👇)

Do Scroller Start, Scroller End đã trùng nhau ở dưới "bottom bottom" nên start: 0 thì nó sẽ trùng với Scroller Start, Scroller End (xem ảnh 👇) và nếu sử dụng start: 300 thì nó sẽ bị lui xuống phía dưới 300px xem ảnh ở trên (xem ảnh 👆)

Chú ý 1-2: Con số Start được tính như nào?



Chú ý 2: Hiện tại heroSt.start: 332 do đó nó sẽ phía cách phía "bottom bottom" làm 332px nếu chưa hiểu đọc chú ý 1


Tiếp tục nghiên cứu hành động sau khi trả về kết quả thứ nhất 2
— Nếu sử dụng khối .left-row, .right-row giống nhau heroSt.start, heroSt.end thì nó trở thành 2 khối như thông thường không có gì nổi bật

— Nếu sử dụng khối .right-row khác nhau start: "top 250", heroSt.end thì nó trở thành 2 khối vô cùng đặc biệt (có nghĩa right-row định nghĩa lại viewPosition 👌)

Đây làm toàn bộ code để hiểu nó một cách hoàn toàn chúng ta phải đọc đi đọc lại nhiều lần
Last updated
Was this helpful?