Skip to content

useReveal

入场编排:容器内所有 .lx-reveal / .lx-reveal-blur 元素进入视口 15% 时加 .in 播放上浮入场(只播一次)。动画类来自 effects.css

用法

stagger 用元素内联 --lx-i(每级约 90ms):

第一张 --lx-i:0
第二张 --lx-i:1
第三张 --lx-i:2

API

useReveal(root?: Ref<HTMLElement | null>): { refresh: () => void }

说明
root观察范围(缺省为全文档)
refresh()动态插入内容后调用,重新扫描未播放的元素

行为与边界:

  • 只播一次,滚出视口不倒放
  • SSR 安全;无 IntersectionObserverprefers-reduced-motion: reduce直接全部显示(不播动画)

.lx-reveal 元素禁挂响应式 :class

运行时改 :class 会抹掉 useReveal 加上的 .in,元素直接消失。需要响应式状态用 data-* 属性或 :style 表达。