- Transition method 개요
- selection.transition(): Transition을 실행할 DOM 요소를 선택한다.
- transition.duration(): 각 요소의 애니메이션 시간을 mSec 단위로 설정한다.
- transition.delay(): 각 요소의 애니메이션 지연 시간을 mSec 단위로 설정한다.
- transition.ease(): Easing 함수를 지정한다. (예 : linear, elastic, bounce 등)
- transition()
- transition() method의 간단한 예
- transition.duration
- duration() Method
- duration() method를 사용하여 전환을 매끄럽게하는 프로그램 예
- transition.delay
- delay() method를 사용하여 전환 시작 시간을 지연 시키는 예
- transition.ease
- Easing 모션을 비교하는 예(아래 d3-transition-ease.html)
- Easing mode의 이해를 위한 프로그램 예
- D3.js - Transition - Animation 관련 페이지 보기
D3에서 애니메이션(Animations)은 DOM 요소의 현재 상태(시작 상태)에서 종료 상태로의 전환(Transition)을 의미한다.
D3는 Transition을 사용하여 용이하게 애니메이션(Animations)을 구현할 수 있다. Selection method을 사용하여 DOM 요소를 선택하고 Transition method를 사용하여 Transition을 실행한다. D3 애니메이션에는 아래와 같은 Method를 사용한다.
transition() method는 모든 선택된 DOM 요소에 대하여 Transition 프로세스를 시작한다.
이 Method는 attr(), style() 등과 같은 대부분의 D3 메서드를 지원한다. 그러나 transition() Method 보다 먼저 호출되어야 하는 append() 과 data() Method는 지원하지 않는다.
그러나 duration(), ease() 등과 같이 Transition을 위한 Method를 지원한다
위 HTML 문서를 복사하여 d3-transition-simple.html 파일을 만들고 실행(더블 클릭)하면 웹 브라우저에 "D3 transitions" 문장이 red로 출력된다. 원래 <h3>의 기본 색은 black 이지만 전환이 즉시 실행되어 red로 출력된다.
duration() 메서드를 사용하면 속성 변경이 지정된 시간 동안 매끄럽게 발생한다. 다음 예는 duration() 메서드를 사용하여 전환 시간을 3초로 설정한 예이다.
위 HTML 문서를 복사하여 d3-transition-duration.html 파일을 만들고 실행(더블 클릭)하면 웹 브라우저에 처음에는 "D3 transitions" 문장이 Green 색으로 표시되고, 점점(smoothly) 색이 전환되어 3초 후에는 Red로 전환된다.
delay() Method를 사용하면 일정 시간 후에 변환(Transition)이 실행된다.
위 HTML 문서를 복사하여 d3-transition-delay.html 파일을 만들고 실행(더블 클릭)하면 웹 브라우저에 처음에는 "D3 transitions" 문장이 12px 크기로 출력되고 2초 후에 변환이 시작되어 2초 후에는 32px 크기로 전환된다.
ease() 함수는 전환(Transition) 모션을 지정하고 제어하는 데 사용된다.
ease는 여러가지 모드가 있고 매개변수에 따라 다른 특성을 갖기 때문에 아래 자료를 참고 바람.
참고자료: d3-ease
위 버튼을 클릭하면 해당 Ease 모드로 애니메이션이 실행된다.
위 HTML 문서를 복사하여 d3-transition-ease.html 파일을 만들고 실행(더블 클릭)하면 웹 브라우저에 여러가지 Ease 모드로 애니메이션을 실행하여 볼 수 있는 버튼이 출력된다. 각 버튼을 클릭하여 여러가지 Ease 모드로 애니메이션을 실행하여 볼 수 있다.