当前位置: 首页 > news >正文

那做网站推广方式英文

那做网站,推广方式英文,广东公司搜索seo哪家强,国家外管局网站怎么做收汇在这篇博客中#xff0c;我将分享如何用 Vue 3 和 TypeScript 实现一个带打字效果的 AI 分析展示组件。该组件具有如下功能#xff1a; 动态打字效果#xff1a;模拟打字机逐步显示内容。自动滚动#xff1a;内容超出容器高度时自动滚动到最新位置。 1. 组件实现需求 我…在这篇博客中我将分享如何用 Vue 3 和 TypeScript 实现一个带打字效果的 AI 分析展示组件。该组件具有如下功能 动态打字效果模拟打字机逐步显示内容。自动滚动内容超出容器高度时自动滚动到最新位置。 1. 组件实现需求 我们需要实现一个点击触发获取 AI 分析结果的功能并动态显示该分析内容同时实现以下功能 打字效果AI 分析内容逐字展示模仿打字机效果。自动滚动内容过长时滚动条自动跟随展示最新的内容。 2. 组件功能分析 (1) 打字效果的实现 我们将 AI 分析结果通过定时器逐步显示模拟打字机效果。每次定时器触发时向内容中添加一批字符。 3. 代码实现 模板部分 在模板部分我们定义了一个包含标题和内容的组件。点击标题后触发获取 AI 分析结果并以打字效果显示内容。加载状态用 Element Plus 提供的 Loading 图标进行展示 templatediv classm_ai_analysis_title clickfetchAiAnalysisspan classiconfont icon-ai_icon m_ai_icon/spanh3{{ title }}/h3el-icon v-ifaiLoading classis-loadingLoading //el-icon/divdiv classm_ai_analysis v-ifprintedContentdiv classcontent-container refcontentContainerdiv classtyping-effect v-htmlprintedContent/div/div/div /template样式部分 为了实现打字机的视觉效果我们通过 CSS 制作了光标闪烁效果并设置了内容容器的滚动条样式 .m_ai_analysis {padding: 12px 16px;border-top: 1px solid #eaeaea;background-color: #f9f9f9;border-radius: 8px; }.m_ai_analysis_title {margin-top: 20px;display: flex;align-items: center;gap: 6px;cursor: pointer; }.m_ai_analysis_title:hover .m_ai_icon {color: var(--el-color-primary);transform: scale(1.28);opacity: 0.88; }h3 {font-size: 16px;font-weight: bold; }.m_ai_icon {font-size: 28px;color: var(--el-color-primary);transition: all 0.3s ease; }.m_ai_icon.disabled {cursor: not-allowed;color: #ccc; }.content-container {max-height: 400px;overflow-y: auto; }.typing-effect {white-space: pre-wrap;display: inline-block;position: relative; }.typing-effect::after {content: |;position: relative;font-size: 1.2em;color: black;animation: blink 1s step-end infinite; }keyframes blink {0%, 100% {opacity: 1;}50% {opacity: 0;} } 核心逻辑部分 在 script 部分我们使用 Vue 3 的 Composition API 和 TypeScript 来定义组件的核心功能 script setup langts import commonApi from /api/commonApi; import { Loading } from element-plus/icons-vue; import { ref, watch, nextTick, onBeforeUnmount } from vue;const props defineProps{title: string;questionId: string | number | null; }();const printedContent ref(); // 打印内容 const aiLoading ref(false); // 加载状态 const contentContainer refHTMLElement | null(null); // 滚动容器 let intervalId: ReturnTypetypeof setInterval | null null; // 记录 intervalId// 监听 questionId 变化清空内容 watch(() props.questionId, async () {printedContent.value ; });// 获取 AI 分析结果 const fetchAiAnalysis async () {if (!props.questionId) return;aiLoading.value true;printedContent.value ;try {const { data } await commonApi.getGptAnalysis({ questionId: props.questionId });if (data) {await typeContent(data);}} catch (error) {console.error(Error fetching AI analysis:, error);} finally {aiLoading.value false;} };// 打字效果实现 const typeContent async (content: string) {let index 0;const batchSize 5; // 每次显示的字符数量intervalId setInterval(async () {if (index content.length) {const nextChunk content.slice(index, index batchSize);printedContent.value nextChunk;index batchSize;await nextTick();scrollToBottom();} else {clearInterval(intervalId!);}}, 100); };// 自动滚动到容器底部 const scrollToBottom () {if (contentContainer.value) {requestAnimationFrame(() {contentContainer.value!.scrollTop contentContainer.value!.scrollHeight;});} };// 清理定时器 onBeforeUnmount(() {if (intervalId) {clearInterval(intervalId);} }); /script4. 关键技术点解析 (1) 打字效果 使用 setInterval 每隔一定时间添加一部分字符直到整个内容被打印完成。这种方式模拟了一个打字机的效果用户可以逐步看到分析内容的生成过程。 (2) 滚动到最新内容 通过 requestAnimationFrame 实现平滑的滚动效果使得当新内容被添加时页面自动滚动到底部保持用户可以看到最新的内容。 效果图 5. 总结 本文分享了如何在 Vue 3 和 TypeScript 项目中实现一个带打字效果的 AI 分析展示组件。
http://www.sczhlp.com/news/177107/

相关文章:

  • 安卓网站开发佛山推广平台
  • php做网站弊端东营新闻
  • 开发网站建设的问卷调查更换wordpress标志
  • 实名网站审核中心免费网站建设企业
  • 政务公开系统网站建设省建设厅执业资格注册中心网站
  • 建立门户网站的费用深网著名网站
  • 网站建设与维护ppt江门网站建设优化
  • 贵阳做网站设计黄页网页的推广
  • 建设银行官方网站登录电脑版深圳实惠的专业建站公司
  • 提交网站模板网站更改
  • 网站开发的基础是什么oa办公软件
  • wordpress 网站备案号网站建设售后服务承诺书
  • 苏州建设公司网站建设成都企业网站建设方案
  • 网站建设细节设计的比较好的网站
  • 小韩网站源码网站开发销售话术
  • 网站备案是否收费抚宁区建设局网站
  • 网站建设最高管理权限个人自媒体创意名字
  • 织梦网站根目录标签深圳自适应网站开发公司
  • 大连做网站绍兴厂商网站建设用net后缀如何
  • dede 网站名称做网站前端用什么软件
  • 一个公司网站开发多少钱济宁建设企业网站
  • 手机做兼职的网站设计免费建站的站点网站
  • 设置网站关键词软件编程毕业设计代做网站
  • 网站体系优势网站搭建服务器
  • 美食网站html代码美橙互联 网站备案拍照
  • 佛山英文网站建设广州品牌包装设计
  • 兰州起点网站建设wordpress+边框大小
  • 个人营销网站seo人才
  • 手机wap 网站我公司让别人做网站了怎么办
  • 国外有哪些网站可以做电商教育机构域名