当前位置: 首页> 财经> 创投人物 > 网站代码开发定制_大型企业网络设计方案_seo引擎优化方案_百度搜索什么关键词能搜到网站

网站代码开发定制_大型企业网络设计方案_seo引擎优化方案_百度搜索什么关键词能搜到网站

时间:2025/9/2 7:41:23来源:https://blog.csdn.net/qq_40287084/article/details/147638305 浏览次数:0次
网站代码开发定制_大型企业网络设计方案_seo引擎优化方案_百度搜索什么关键词能搜到网站

打字机效果

因后端返回的数据也是通过@microsoft/fetch-event-source 一句一句流式返回 但是前端展示效果想要实现打字机效果

代码如下

<template><div><div class="text-container"><span class="text-content">{{ displayText }}</span><span :class="{ cursor: isTyping }"></span></div></div>
</template><script setup>import {ref,onMounted} from 'vue';const displayText = ref('')const isTyping = ref(false)const queue = ref([])// onMounted(() => {// 	mockStreamData(); // 示例中调用模拟数据流// })// 将新句子加入队列并触发处理const addSentence = (sentence) => {console.log(sentence, 'sentence');queue.value.push(sentence);if (!isTyping.value) {processQueue();}}// 处理队列中的句子const processQueue = async () => {isTyping.value = true;while (queue.value.length > 0) {const sentence = queue.value.shift();await typeText(sentence);}isTyping.value = false;}// 逐字显示句子const typeText = async (sentence) => {const chars = sentence.split("");for (const char of chars) {await delay(60); // 调整字符显示速度displayText.value += char;}displayText.value += " "; // 句子间添加空格}// 延迟函数const delay = (ms) => {return new Promise((resolve) => setTimeout(resolve, ms));}// 模拟接收流式数据(示例方法,需根据实际数据源调整)const mockStreamData = async () => {const sentences = ["Hello, world!", "This is a", " typing effect."];for (const sentence of sentences) {addSentence(sentence);await delay(1000); // 模拟分块到达间隔}}defineExpose({addSentence})
</script><style>.text-container {font-family: monospace;font-size: 18px;min-height: 1em; }.cursor {display: inline-block;width: 2px;height: 1em;background: black;margin-left: 2px;animation: blink 1s step-end infinite;}@keyframes blink {from,to {opacity: 0;}50% {opacity: 1;}}
</style>
关键字:网站代码开发定制_大型企业网络设计方案_seo引擎优化方案_百度搜索什么关键词能搜到网站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: