본문으로 건너뛰기
Version: 4.4.2

FreeControl

class FreeControl extends Control

패널이 정해진 지점에 정렬되지 않고, 자유롭게 스크롤할 수 있는 이동 방식을 사용하는 Control

Constructor#

new FreeControl()
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
Partial<FreeControlOptions>✔️{}

Properties#

stopAtEdge#

스크롤 애니메이션을 스크롤 영역의 시작과 끝부분에서 멈추도록 하여, 바운스 영역을 넘어가지 않도록 합니다

Type: boolean

Default: true

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#

updatePosition#

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

Returns: Promise<void>

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

Throws: FlickingError

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

moveToPosition#

async

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

codecondition
POSITION_NOT_REACHABLE주어진 패널이 제거되었거나, Camera의 range 밖에 있을 경우
NOT_ATTACHED_TO_FLICKINGinit이 이전에 호출되지 않은 경우
ANIMATION_INTERRUPTED사용자 입력에 의해 애니메이션이 중단된 경우
STOP_CALLED_BY_USER발생된 이벤트들 중 하나라도 stop()이 호출된 경우

init#

inherited

Control을 초기화합니다

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
flickingFlickingFlicking의 인스턴스

destroy#

inherited

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

Returns: void

enable#

inherited

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

Returns: this

disable#

inherited

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

Returns: this

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

codecondition
POSITION_NOT_REACHABLE주어진 패널이 제거되었거나, Camera의 range 밖에 있을 경우
NOT_ATTACHED_TO_FLICKINGinit이 이전에 호출되지 않은 경우
ANIMATION_INTERRUPTED사용자 입력에 의해 애니메이션이 중단된 경우
STOP_CALLED_BY_USER발생된 이벤트들 중 하나라도 stop()이 호출된 경우

setActive#

inherited
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
newActivePanelPanel
prevActivePanelPanel | null
isTrustedboolean
⚠️ This function is for internal use only.