@realsee/dnalogel
Version:
35 lines (34 loc) • 1.23 kB
TypeScript
import anime from 'animejs';
import type * as THREE from 'three';
interface BlinkAnimeOptions extends anime.AnimeParams {
updateRender?: () => any;
/**
* @description 递归修改所有子元素透明度
* @default true
*/
traverseTHREEObject?: boolean;
}
interface ReBlinkAnimeOptions extends BlinkAnimeOptions {
maxOpacity?: number;
}
type Target = HTMLElement | THREE.Object3D;
/**
* @description 闪烁一个物体/Dom
* @param animeOptions https://animejs.com/documentation/
* @example
* ```ts
* // 闪烁 three 物体
* blink(object3D, { updateRender: () => { five.needsRender = true } })
* // 闪烁 dom 5 次
* blink(document.getElementById('id'), { loop: 5 * 2 })
* ```
*/
declare function blink(objects: Target | Target[], animeOptions?: BlinkAnimeOptions): Promise<void>;
/**
* @description 闪烁一个不可见的物体/Dom
*
* 适用于物体/Dom在初始状态不可见的情况,闪烁完成后的状态为初始不可见的状态
* @param animeOptions https://animejs.com/documentation/
*/
declare function reblink(objects: Target | Target[], animeOptions?: BlinkAnimeOptions): Promise<void>;
export { blink, reblink, type BlinkAnimeOptions, type ReBlinkAnimeOptions };