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

  • 实现效果:
  • 需求:最近接到这么一个需求,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)
相关推荐
穗余12 小时前
2026 AI x Web3 School共学营笔记-Day2
人工智能·区块链
晚霞的不甘12 小时前
CANN Catlass 矩阵乘模板库深度解析:高性能矩阵运算的进阶之路
人工智能·python·线性代数·矩阵
我叫不睡觉12 小时前
知识内耗时代终结:用 FastGPT 构建企业级 AI 知识大脑的完整实践
人工智能·开源
郑同学zxc12 小时前
机器学习20-RNN
人工智能·rnn·机器学习
OAK中国_官方12 小时前
DepthAI v3 目标追踪器:速度估计与遮挡处理
人工智能
DisonTangor12 小时前
【字节拥抱开源】ByteDance-Seed开源连续潜在扩散语言模型——Cola DLM
人工智能·语言模型·自然语言处理
2601_9577867712 小时前
矩阵系统深度解析:从冷启动困局到智能化运营的技术演进
大数据·人工智能·矩阵
linmoo198612 小时前
Agent应用实践之四 - 基础:AgentScope-SpringBoot集成源码解析
人工智能·spring boot·agent·agentscope·openclaw
爱写代码的小朋友12 小时前
基于多约束遗传算法的中小学排座位优化模型研究
linux·人工智能·算法
科技小花12 小时前
全球数据治理:合规与AI双引擎驱动
大数据·人工智能·数据治理·数据中台