본문으로 건너뛰기
버전: Next

SnapControl

class SnapControl extends Control

입력을 중단한 시점의 가속도에 영향받아 도달할 패널을 계산하는 이동 방식을 사용하는 Control

constructor

new SnapControl()
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
Partial<SnapControlOptions>✔️{}

Properties

count

입력 중단 이후 통과하여 이동할 수 있는 패널의 최대 갯수

Type: number

Default: Infinity

controller

readonlyinherited

@egjs/axes의 이벤트를 처리하는 컨트롤러 컴포넌트

Type: AxesController

activeIndex

readonlyinherited

currentPanel의 인덱스 번호

Type: number

Default: 0

activePanel

readonlyinherited

현재 선택된 패널

Type: Panel | null

animating

readonlyinherited

현재 애니메이션 동작 여부

Type: boolean

holding

readonlyinherited

현재 사용자가 클릭/터치중인지 여부

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

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
positionnumber이동할 좌표
durationnumber패널 이동 애니메이션 진행 시간 (단위: ms)
axesEventobject✔️Axesrelease 이벤트

Throws: FlickingError



|code|condition|
|---|---|
|[POSITION_NOT_REACHABLE](ERROR_CODE)|주어진 패널이 제거되었거나, Camera의 [range](Camera#range) 밖에 있을 경우|
|[NOT_ATTACHED_TO_FLICKING](ERROR_CODE)|[init](Control#init)이 이전에 호출되지 않은 경우|
|[ANIMATION_INTERRUPTED](ERROR_CODE)|사용자 입력에 의해 애니메이션이 중단된 경우|
|[STOP_CALLED_BY_USER](ERROR_CODE)|발생된 이벤트들 중 하나라도 `stop()`이 호출된 경우|

init

inherited

Control을 초기화합니다

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
flickingFlickingFlicking의 인스턴스

destroy

inherited

Control을 초기 상태로 되돌립니다

Returns: void

enable

inherited

사용자의 입력(마우스/터치)를 활성화합니다

Returns: this

disable

inherited

사용자의 입력(마우스/터치)를 막습니다

Returns: this

release

inherited

사용자의 현재 입력(마우스/터치)를 중단시킵니다

Returns: this

updateAnimation

inherited

재생 중인 애니메이션의 목적지와 재생 시간을 변경합니다

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
panelPanel이동할 패널
durationnumber✔️애니메이션 진행 시간 (단위: ms)
directionDIRECTION✔️이동할 방향. circular 옵션 활성화시에만 사용 가능합니다

Throws: FlickingError

POSITION_NOT_REACHABLE 주어진 패널이 제거되었거나, Camera의 range 밖에 있을 경우

stopAnimation

inherited

재생 중인 애니메이션을 중단시킵니다

Returns: this

updatePosition

inherited

resize 이후에 position을 업데이트합니다

Returns: Promise<void>

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
progressInPanelnumberResize 이전 현재 선택된 패널 내에서의 카메라 progress 값

Throws: FlickingError

NOT_ATTACHED_TO_FLICKING init이 이전에 호출되지 않은 경우

updateInput

inherited

controller의 내부 상태를 갱신합니다

Returns: this

resetActive

inherited

activePanelnull로 초기화합니다

Returns: this

moveToPanel

inheritedasync

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

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
panelPanel이동할 패널
optionsobject옵션 오브젝트
durationnumber애니메이션 진행 시간 (단위: ms)
axesEventobject✔️Axesrelease 이벤트
directionDIRECTION✔️DIRECTION.NONE이동할 방향. circular 옵션 활성화시에만 사용 가능합니다

Throws: FlickingError



|code|condition|
|---|---|
|[POSITION_NOT_REACHABLE](ERROR_CODE)|주어진 패널이 제거되었거나, Camera의 [range](Camera#range) 밖에 있을 경우|
|[NOT_ATTACHED_TO_FLICKING](ERROR_CODE)|[init](Control#init)이 이전에 호출되지 않은 경우|
|[ANIMATION_INTERRUPTED](ERROR_CODE)|사용자 입력에 의해 애니메이션이 중단된 경우|
|[STOP_CALLED_BY_USER](ERROR_CODE)|발생된 이벤트들 중 하나라도 `stop()`이 호출된 경우|

setActive

inherited
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
newActivePanelPanel
prevActivePanelPanel | null
isTrustedboolean

copy

inherited
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
controlControl