前端 AI 类产品(如 ChatGPT、文心一言等)中常见的“打字机效果”(逐字显示文本)是一种用户体验优化技术,旨在模拟人类打字的过程,增强交互的自然感和流畅性。以下是实现打字机效果的原理和常见方法:
1. 实现原理
打字机效果的核心是通过 JavaScript 动态控制文本的显示,逐字或逐段地将内容添加到页面上。具体步骤如下:
获取文本内容:从服务器或本地获取需要显示的文本。
逐字显示:通过定时器(如
setTimeout
或setInterval
)逐字将文本添加到 DOM 元素中。控制速度:通过调整时间间隔控制打字速度。
结束处理:当文本完全显示后,停止定时器并触发回调(如显示光标闪烁或执行下一步操作)。
2. 实现方法
以下是几种常见的实现方式:
方法 1:使用 setTimeout
递归实现
function typeWriter(element, text, speed = 100) {
let i = 0;
function type() {
if (i < text.length) {