TypingAnimation 打字机动画
TypingAnimation 提供逐字符的打字机效果,支持单条文本、词语轮播、循环、可配置光标样式。底层为 setTimeout 推进 + IntersectionObserver 控制启动,不依赖 framer-motion。
何时使用
- 需要模拟「智能体逐字回答」的视觉效果
- 需要在 Hero / 引导区轮播多句标语
- 需要可视化的输入光标(line / block / underscore)
与 TextAnimate 的区别:
TextAnimate整段同时入场(按词 / 字符错峰),TypingAnimation逐字符依次出现并支持删除回退、循环切换。
代码演示
API
TypingAnimationProps
所有
React.HTMLAttributes<HTMLElement>上的属性(除children)也会透传到底层元素。
行为说明
childrenvswords:传words时进入「多句轮播」模式(输入 → 停顿 → 删除 → 切换下一句),不传时使用children单条输入。loop:仅在多句模式或希望最后一句反复输入时使用;单句 +loop={false}时,到达末尾即停止并隐藏光标。startOnView:默认仅在元素至少 30% 可见时启动;测试或 SSR 环境下默认视为可见,避免动画永不开始。- 光标自动隐藏:当动画整体完成(非循环、最后一句、已输入到结尾且非删除阶段)时,光标会自动隐藏。
