SnapControl
class SnapControl extends Control
입력을 중단한 시점의 가속도에 영향받아 도달할 패널을 계산하는 이동 방식을 사용하는 Control
Properties
controller
@egjs/axes의 이벤트를 처리하는 컨트롤러 컴포넌트
Type: AxesController
activeIndex
currentPanel의 인덱스 번호
Type: number
Default: 0
activePanel
현재 선택된 패널
Type: Panel | null
animating
현재 애니메이션 동작 여부
Type: boolean
holding
현재 사용자가 클릭/터치중인지 여부
Type: boolean
Methods
moveToPosition
Camera를 주어진 좌표로 이동합니다
Returns: Promise<void>
- 해당 좌표 도달시에 resolve되는 Promise
Emits: Flicking#event:moveStart, Flicking#event:move, Flicking#event:moveEnd, Flicking#event:willChange, Flicking#event:changed, Flicking#event:willRestore, Flicking#event:restored, Flicking#event:needPanel, Flicking#event:visibleChange, Flicking#event:reachEdge
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
position | number | no | 이동할 좌표 | |
duration | number | no | 패널 이동 애니메이션 진행 시간 (단위: ms) | |
axesEvent | object | yes | Axes의 release 이벤트 |
Throws: FlickingError
code | condition |
---|---|
POSITION_NOT_REACHABLE | 주어진 패널이 제거되었거나, Camera의 range 밖에 있을 경우 |
NOT_ATTACHED_TO_FLICKING | init이 이전에 호출되지 않은 경우 |
ANIMATION_INTERRUPTED | 사용자 입력에 의해 애니메이션이 중단된 경우 |
STOP_CALLED_BY_USER | 발생된 이벤트들 중 하나라도 stop() 이 호출된 경우 |
init
Control을 초기화합니다
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
flicking | Flicking | no | Flicking의 인스턴스 |
destroy
Control을 초기 상태로 되돌립니다
Returns: void
enable
사용자의 입력(마우스/터치)를 활성화합니다
Returns: this
disable
사용자의 입력(마우스/터치)를 막습니다
Returns: this
updatePosition
resize 이후에 position을 업데이트합니다
Returns: Promise<void>
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
progressInPanel | number | no | Resize 이전 현재 선택된 패널 내에서의 카메라 progress 값 |
Throws: FlickingError
NOT_ATTACHED_TO_FLICKING init이 이전에 호출되지 않은 경우
updateInput
controller의 내부 상태를 갱신합니다
Returns: this
resetActive
activePanel와 activeAnchor를 null
로 초기화합니다
Returns: this
moveToPanel
Camera를 해당 패널 위로 이동합니다
Returns: Promise<void>
- 해당 패널 도달시에 resolve되는 Promise
Emits: Flicking#event:moveStart, Flicking#event:move, Flicking#event:moveEnd, Flicking#event:willChange, Flicking#event:changed, Flicking#event:willRestore, Flicking#event:restored, Flicking#event:needPanel, Flicking#event:visibleChange, Flicking#event:reachEdge
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
panel | Panel | no | 이동할 패널 | |
options | object | no | 옵션 오브젝트 | |
duration | number | no | 애니메이션 진행 시간 (단위: ms) | |
axesEvent | object | yes | Axes의 release 이벤트 | |
direction | DIRECTION | yes | DIRECTION.NONE | 이동할 방향. circular 옵션 활성화시에만 사용 가능합니다 |
Throws: FlickingError
code | condition |
---|---|
POSITION_NOT_REACHABLE | 주어진 패널이 제거되었거나, Camera의 range 밖에 있을 경우 |
NOT_ATTACHED_TO_FLICKING | init이 이전에 호출되지 않은 경우 |
ANIMATION_INTERRUPTED | 사용자 입력에 의해 애니메이션이 중단된 경우 |
STOP_CALLED_BY_USER | 발생된 이벤트들 중 하나라도 stop() 이 호출된 경우 |