需求:实现一个类似打印的效果(文字一个字一个字的输出)

  • 实现效果:
  • 需求:最近接到这么一个需求,ai机器人回复的问题,后端是通过websocket每隔一段事件返回数据,前端拿到数据后直接渲染,现在需要做到一个效果,后端返回的结果前端需要一个一个文字的输出
  • 解决方法:通过setTimeout和递归的方法实现,代码也不难,小编封装的一个函数,方便使用,详细说明在如下代码中
  • 源码:
javascript 复制代码
// 全局下
timer = null
wordIndex = 0
/*
    打印文字
    参数1:dom对象
    参数2:需要打印的字符串
    参数3:延时时长
*/
writing(dom, wordString, delay) {
    // wordIndex标记文字索引值,
    if (wordIndex < wordString.length) { // 如果索引值比文字长度小,继续执行代码
        clearTimeout(timer) // 为了保证每次时间间隔一致,需要清楚时间器
        // 向dom中追加文字,之后索引值+1
        dom.innerText += wordString[wordIndex++]
        // 定时器
        timer = setTimeout(() => {
            // 递归执行该函数
            this.writing(dom, wordString, delay)
        }, delay)
    }
},

// 调用方法
writing('dom标签', '文字字符串', 20)
相关推荐
独角鲸网络安全实验室7 分钟前
惊魂零点击!OpenClaw漏洞(ClawJacked)突袭,开发者AI Agent遭无声劫持
人工智能·网络安全·数据安全·漏洞·openclaw·clawjacked·cve-2026-25253
嘎嘎嘎嘎降10 分钟前
保姆级教程:25个降AI提示词大全,手把手教你去AI味
人工智能·去ai味提示词大全·降ai提示词·降ai指令·deepseek降ai
irizhao13 分钟前
《高质量数据集 质量评测规范》(TC609-5-2025-04)
人工智能·分类·数据挖掘
zero159713 分钟前
SpecCoding:规范驱动开发的工具与方法论全解析
人工智能·ai智能体
monsion14 分钟前
Code Agent 的上下文压缩:不是 zip,而是工作记忆管理
大数据·人工智能
杜子不疼.15 分钟前
OpenClaw横空出世:星标榜第一的AI Agent框架凭什么引爆2026?
人工智能
A小码哥22 分钟前
ARC-AGI-2:抽象推理与泛化能力的终极测试
人工智能·agi
威联通安全存储23 分钟前
破除“重前端、轻底层”的数字幻象:如何夯实工业数据的物理底座
前端·python
梯度下降中24 分钟前
LoRA原理精讲
人工智能·算法·机器学习
晚秋贰拾伍30 分钟前
科技周刊08-微博上线国内社交平台首个AI社区
人工智能·科技