delay 속성을 일일이 계산해야 할까요?
[그림 1] 순차적으로 이어지는 타임라인의 시각적 메타포
왜 타임라인을 써야 할까요? 타임라인이 없을 때의 고통(수동 계산)과 있을 때의 편안함을 비교해 보세요.
타임라인 객체는 기본 트윈(Tween)과 동일하게 to(), from()을 지원하며, 전체 흐름을 일괄 제어할 수 있습니다.
| 메서드 | 설명 |
|---|---|
gsap.timeline() |
빈 타임라인 객체를 생성합니다. 여기에 애니메이션을 줄줄이 붙일 수 있습니다. |
tl.to() / tl.from() |
타임라인에 요소를 추가합니다. 코드가 체이닝된 순서대로 차례대로 실행됩니다. |
tl.pause() / tl.play() |
타임라인에 연결된 모든 애니메이션 시퀀스를 통째로 정지하거나 재생합니다. |
타임라인을 기껏 생성(const tl = gsap.timeline();)해놓고, 정작 애니메이션을 작성할 때 gsap.to()를 사용하면 타임라인에 등록되지 않아 개별적으로 즉시 동시 실행되어 버립니다. 타임라인에 엮을 때는 반드시 tl.to() 처럼 타임라인 변수명에 체이닝해야 함을 잊지 마세요!