GSAP과 ScrollTrigger를 사용하여 PIN 효과

CSS 24.04.25

GSAP의 PIN 효과는 ScrollTrigger를 사용하여 스크롤하는 동안 요소를 고정하는 기능을 제공합니다. 이것은 일반적으로 웹 페이지에서 스크롤하는 동안 요소를 화면에 고정시키고 다른 요소가 지나가는 것처럼 보이게 하는 데 사용됩니다.


PIN 효과를 사용하면 특정 요소를 스크롤 할 때 화면에 고정시킬 수 있습니다. 이것은 일반적으로 시각적인 효과를 위해 사용되며, 사용자가 스크롤 할 때 요소가 화면에 고정되고 스크롤이 해당 요소를 통과하면 다시 원래의 위치로 돌아갑니다.


GSAP의 PIN 효과를 사용하면 스크롤을 통해 요소가 화면의 특정 위치에 고정될 때 핀 지정할 수 있습니다. 이를 통해 동적인 웹 페이지의 디자인을 구현하고 사용자 경험을 향상시킬 수 있습니다. ScrollTrigger를 사용하면 이러한 PIN 효과를 더욱 간단하게 구현할 수 있으며, 스크롤하는 동안 요소의 동작을 세밀하게 제어할 수 있습니다.


이러한 PIN 효과를 사용하여 다양한 디자인 요소를 만들 수 있으며, 사용자가 웹 페이지를 스크롤 할 때 요소가 화면에 고정되는 동안 흥미로운 시각적인 경험을 제공할 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
<script>
let panels = gsap.utils.toArray(".item");
 
panels.forEach((panel, i) => {
    ScrollTrigger.create({
        trigger: panel, // 트리거하는 요소
        start: "top top"// 시작 위치
        pin: true// 트리거 작동시 핀 고정
        scrub: 0.5// 스크롤 속도
        pinSpacing: false // 핀 지정 간격 자동
    });
});
</script>
cs


trigger: 애니메이션을 트리거하는 요소를 지정합니다.

start: 트리거에 대한 애니메이션이 언제 시작될지를 정의합니다. 이 경우 트리거 요소의 맨 위가 뷰포트의 맨 위에 도달했을 때 시작합니다.

pin: 트리거가 작동될 때 요소를 뷰포트에 핀으로 고정시킵니다.

scrub: 핀 지정 효과가 스크롤에 따라 얼마나 빠르게 따라가는지를 결정합니다. 0.5의 값은 스크롤의 절반 속도로 이동합니다.

pinSpacing: 핀 지정된 요소의 간격을 자동으로 조정할지 여부를 지정합니다. 이 값을 false로 설정하면 핀 지정된 요소의 간격이 자동으로 조정되지 않습니다.



[예제]

See the Pen Untitled by designkits (@designkits) on CodePen.

목록으로
© 디자인키트