@jood/appearer
Version:
javascript intersection observer
48 lines (47 loc) • 1.58 kB
TypeScript
import { BaseActor } from './base-actor';
import { ILazyActor } from '../common/types';
/**
* Stage 에 등록될 Actor.
* 스테이지에 진입을 한번만 감지하되, 진입 후 너무 빠르게 이탈시에는 감지 처리를 하지 않는 느린 감지형.
* (사용 예: 촘촘한 상품 목록과 같이 빠르게 스크롤 하여 지나칠 수 있는 곳)
* @class LazyActor
* @extends {BaseActor}
*/
export declare class LazyActor extends BaseActor implements ILazyActor {
private appearTimer;
private checkoutDelay;
private appearDelay;
/**
* 느린 감지를 시작하기 전 대기 시간.
* 지정된 시간 전에 감지된 진입은 느린 감지를 하지 않고 바로 진입을 알림.
* @param [delay=1000]
*/
setCheckoutDelay(delay?: number): void;
/**
* 지정된 시간 사이에 진입 후 진출을 하는 경우 진입 알림을 하지 않는 대기 시간.
* @param [delay=150]
*/
setAppearDelay(delay?: number): void;
/**
* 진입 대기 타이머 파기
*/
private clearAppearTimer;
/**
* 스테이지 진입. 진입 후 일정시간 (appearDelay) 전에 이탈하는 경우는 진입으로 취급하지 않음.
* @override
* @param [entry]
*/
appear(entry: IntersectionObserverEntry): void;
/**
* 실제 진입 처리.
* @private
* @param entry
*/
private doAppear;
/**
* 스테이지 이탈.
* @override
* @param entry
*/
disappear(entry: IntersectionObserverEntry): void;
}