UNPKG

page-grow

Version:

页面进出场动画管理,零配置,高扩展,是可视化大屏或其他要求炫酷的商业网站必备插件。

63 lines (62 loc) 1.52 kB
import { IGrowHTMLElement } from "./common"; import { PageGrowOption, EffectObj } from './engine'; import { gsap } from "gsap"; /** * 动画基础规则接口 */ export declare interface IGrowAnimate { duration: number; delay: number; repeat: number; start(): void; stop(): void; } /** * 进场动画控制器接口 */ export declare interface IGrowAnimateController { enter(): void; leave(): void; stop(): void; creatTl(): void; } /** * 封装gsap */ export declare class GrowTween extends gsap.core.Tween { } export declare class GrowTimeLine extends gsap.core.Timeline { } /** * 进出场动画控制器 */ export declare class HTMLGrowAnimateController implements IGrowAnimateController { constructor(elements: Array<IGrowHTMLElement>, opt: PageGrowOption); private _els; private _tl; private _option; private _init; /** * 获取动画线 * @param els * @returns GrowTimeLine */ private _getTl; /** * 递归获取子动画线 * @param els * @returns GrowTimeLine */ private _getTlRecurve; get timeLine(): gsap.core.Timeline; get effects(): Array<string>; enter(): void; creatTl(): gsap.core.Timeline; leave(): void; stop(): void; addEffect(effectList: Array<EffectObj>): void; private _setElementAnimate; private _registerEffects; private _getTransformOrigin; private _elementHasCustomTl; }