HOVER · 悬停交互
参数调改
PLAYGROUND
扰动帧间隔--char_ms
1690
自动重放周期--cycle_ms
15009000
文字字号--font_px
2464
定字颜色--text_color
噪点颜色--noise_color
落定过渡--settle_ms
0400
实现要点
NOTES- 01
经典 frame-slice 模式:每个字符有独立的 [from, to) 帧区间——from 前显示占位空白、区间内每帧从 GLYPHS 表随机取符号、to 之后锁定真实字符;左侧字符区间靠前,整体呈『从左往右解码』的推进感。
- 02
扰动频率用『时间戳节流的 requestAnimationFrame』控制:CHAR_MS 间隔才换一次随机字符,而不是每帧都换——过快会变成闪烁噪声,40ms 上下的换字频率才有『密码机』质感。
- 03
等宽字体 + \u00a0 占位保证扰动全程宽度稳定、文字不横跳;空格字符直接原样保留不参与扰动。
- 04
文案放在 h1 的 data-final 属性上,JS 读取驱动;改文案只改一处。字符总量与 maxEnd 决定单次解码时长,长文案要按比例调大 --cycle_ms。
- 05
性能:每帧只更新一次 textContent(单次重排),比逐字符 span 更省;字符数 ≤ 40 观感最佳,大段文本建议只对标题使用。
- 06
无障碍:真实语义放在 h1 的 aria-label 上,扰动 span 标记 aria-hidden,读屏永远读到完整文案;reduced-motion 下跳过扰动直接静态显示最终文案。
源代码
SOURCE
加载源代码…