UNPKG

page-grow

Version:

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

70 lines (69 loc) 1.78 kB
import { IGrowHTMLElement, pageGrowGsap as gsap } from "./common"; import { PageGrowOption, EffectObj } from './engine'; /** * 动画基础规则接口 */ 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); _els: Array<IGrowHTMLElement>; _tl: GrowTimeLine; private _option; private _init; /** * 若有传入labels,获取动画线 * @param els * @returns */ _getPageTl(els: Array<IGrowHTMLElement>): GrowTimeLine; /** * 获取动画线 * @param els * @returns GrowTimeLine */ private _getTl; /** * 递归获取子动画线 * @param els * @returns GrowTimeLine */ private _getTlRecurve; get timeLine(): GrowTimeLine; get effects(): Array<string>; enter(): void; creatTl(): GrowTimeLine; leave(): void; stop(): void; addEffect(effectList: Array<EffectObj>): void; private _setElementAnimate; private _registerEffects; private _getTransformOrigin; private _elementHasCustomTl; private _computedStringDuration; } export declare function isTl(tl: GrowTimeLine): boolean;