赞
踩
ChatGPT 的逐字显示效果很酷炫,那么我们可以尝试实现类似的效果。
<div class="chat-container">
<div id="message"></div>
</div>
const messageElement = document.getElementById("message");
const text =
"这是一个模拟 ChatGPT 的文字输出效果的示例。文字会逐字显示,就像是实时生成的。";
let index = 0;
function typeText() {
if (index < text.length) {
messageElement.textContent += text[index];
index++;
setTimeout(typeText, 50); // 50ms 显示一个字符
}
}
typeText();
这段 HTML 代码定义了一个名为 typeText
的函数,函数通过逐个显示字符串 text
中的字符,营造出文字实时生成的效果。
具体实现方式是通过 setTimeout
函数每隔 50 毫秒显示一个字符,直到整个字符串显示完毕。函数内部使用 index
变量来记录当前要显示的字符位置,并通过 messageElement.textContent
将字符添加到页面上的 message
元素中。
最后,通过调用 typeText 函数启动文字输出的模拟效果。
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>ChatGPT 文字效果</title> </head> <body> <div class="chat-container"> <div id="message"></div> </div> <script> const messageElement = document.getElementById("message"); const text = "这是一个模拟 ChatGPT 的文字输出效果的示例。文字会逐字显示,就像是实时生成的。"; let index = 0; function typeText() { if (index < text.length) { messageElement.textContent += text[index]; index++; setTimeout(typeText, 50); // 50ms 显示一个字符 } } typeText(); </script> </body> </html>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。