模拟机器人回复的打字效果(简易版)
返回的文本,用一个元素a临时存储,将a存储的结果,一个一个字符定时添加到显示的文本b上即可。注意:因为for循环不会等定时函数,所以每下一个字符,要加时1轮,例如:定时(100*i)ms。
·
效果图
体验链接:https://livequeen.top/deepseekshow
思路
返回的文本,用一个元素a临时存储,将a存储的结果,一个一个字符定时添加到显示的文本b上即可。
注意:因为for循环不会等定时函数,所以每下一个字符,要加时1轮,例如:定时(100*i)ms
实现
// 展示的文本
var text = ''
/**
* 模拟AI机器人打字效果
* @param content 返回的全部文本
*/
chatAI (content) {
// 获取返回结果
let data = content
// 临时储存结果(一个一个字符叠加)
let dataTemp = ''
// for循环一个个字符执行
for (let i = 0; i < data.length; i++) {
// 定时(100*i)ms,因为for循环不会等定时函数,所以每下一个字符,要加时1轮
setTimeout(() => {
// 更新临时字符集
dataTemp = dataTemp + data[i]
// 判断是否是最后一个字符,用于模拟打字效果结尾'_',并赋值给展示的文本
if (i === data.length - 1) {
this.text = dataTemp
} else {
this.text = dataTemp + '_'
}
}, 100 * i)
}
}
}

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)