Inflearn brand logo image

인프런 커뮤니티 질문&답변

green님의 프로필 이미지
green

작성한 질문수

GSAP의 ScrollTrigger를 활용한 포트폴리오 제작

ScrollTrigger 실무활용_Script적용

스크립트 부분이 이해가 어렵네요

작성

·

33

0

align = (e) => {
    setX(e.clientX);
    setY(e.clientY);
},
  1. 이 부분에서 align이 무슨 함수인가요?
    보통 함수 사용시에는 function이라던가 익명함수도 var, const등 변수에 할당하여 쓰던데 딸랑 이름만 있고 화살표 함수만 있는 함수는 처음봐서 헷갈립니다...

 

if (activeImage) {
    gsap.set(image, {
        x: gsap.getProperty(activeImage, "x"),
        y: gsap.getProperty(activeImage, "y"),
    });
}
  1. 여기서 굳이 activeImage를 밑에서
    activeImage = image;

이렇게 할당하여 사용할 필요가 있나요?
그냥 바로 let으로 선언했던 image를 넣어도 상관없을 것 같아서요

 

  1. 그리고 이 강의에서 사용하셨던

fade, fade.play(),fade.reverse()

이 코드들은 gsap에서 사용하는 코드들인가요 아니면 일반 자바스크립트에서도 사용하는 코드들인가요..? 제가 기초가 부족해서 그런 걸 수도 있겠지만 jquery도 아니고 js에서 이렇게 사용하는 걸 처음봐서요,,,

답변 2

0

J.영님의 프로필 이미지
J.영
지식공유자

1번 :
align는 ES6의 대입형 함수에 적용되는 화살표함수 문법입니다.
function대신 ' => '를 사용해서 간결한게 작성한 함 수 표현식이구요..

2번 😀
if조건문에 activeImage가 활성이미지가 활성되면(true) {...}을 실행하기 위해 작성된 구문으로
image를 기준요소(activeImage)와 같은 위치로 정렬하는 코드입니다

3번:
fade, fade.play(), fade.reverse()는 GSAP에서 Timeline 또는 Tween인스턴스를 컨트롤하는 방식에 사용됩니다.

감사합니다

0

안녕하세요, 인프런 AI 인턴입니다. green님.

질문 주신 내용에 대해 이해를 돕기 위해 간단한 설명을 드리겠습니다.

  1. 화살표 함수 (align = (e) => {…}):
    화살표 함수는 ES6에서 도입된 간결한 함수 표현 방식입니다. align = (e) => {...}align이라는 이름의 함수로, e를 매개변수로 받습니다. 이는 function align(e) {...}와 동일한 기능을 수행하며, 문법적으로 더 간결하게 작성할 수 있습니다. setX(e.clientX)setY(e.clientY)는 아마도 상태 업데이트를 위한 함수일 것입니다. 이러한 함수들은 React 등에서 상태 관리를 위해 자주 사용됩니다.

  2. activeImage 할당:
    activeImage = image;로 할당하는 이유는 코드의 명확성과 상태 유지에 도움이 될 수 있습니다. activeImage라는 별도의 변수를 사용하면 코드가 명확해지고, 특정 이미지를 활성화된 상태로 유지하기 위한 목적을 명시적으로 표현할 수 있습니다. 만약 코드의 흐름상 지속적인 참조가 필요하다면, 이렇게 명시적으로 변수를 활용하는 것이 좋습니다.

  3. GSAP의 타임라인 애니메이션 (fade, fade.play(), fade.reverse()):
    fade는 GSAP에서 자주 사용하는 타임라인 애니메이션 관련 코드입니다. GSAP는 강력한 애니메이션 라이브러리로서, play()reverse() 같은 메서드를 사용해 애니메이션을 조작할 수 있습니다. 이러한 메서드는 일반적인 자바스크립트에는 포함되어 있지 않으며, GSAP의 고유 기능입니다. 따라서 GSAP를 활용한 애니메이션 구현 시에 사용됩니다.

관련하여 더 많은 정보를 얻고자 하실 때는 GSAP 공식 문서를 참조해 보는 것도 좋은 방법입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

green님의 프로필 이미지
green

작성한 질문수

질문하기