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

如何设计公司网站维护公司

如何设计公司网站,维护公司,谈谈对seo的理解,怎么做阿里巴巴外贸网站个人开发的塔罗牌占卜小程序:【问问塔罗牌】 快来瞧瞧吧! 一、核心实现原理 我们通过三步实现这个效果: 逐字渲染:通过 JavaScript 定时添加字符 透明度动画:CSS 实现淡入效果 光标动画:伪元素 CSS 动画…

  个人开发的塔罗牌占卜小程序:【问问塔罗牌】 快来瞧瞧吧!

一、核心实现原理

我们通过三步实现这个效果:

  1. 逐字渲染:通过 JavaScript 定时添加字符

  2. 透明度动画:CSS 实现淡入效果

  3. 光标动画:伪元素 + CSS 动画模拟输入状态


二、完整代码实现

HTML 结构

<div class="chat-container"><div class="response-box"><p class="typing-effect"></p></div>
</div>

CSS 样式

.typing-effect {font-size: 1.2rem;line-height: 1.5;min-height: 2em;position: relative;
}/* 渐显动画 */
@keyframes fadeIn {from { opacity: 0; }to { opacity: 1; }
}/* 光标动画 */
.typing-effect::after {content: "|";animation: blink 1s infinite;opacity: 0.7;
}@keyframes blink {0%, 100% { opacity: 0; }50% { opacity: 1; }
}

JavaScript 逻辑

function simulateTyping(targetElement, text, speed = 50) {let index = 0;targetElement.innerHTML = '';function addCharacter() {if (index < text.length) {// 创建单个字符的spanconst charSpan = document.createElement('span');charSpan.textContent = text[index];charSpan.style.animation = 'fadeIn 0.3s ease-in';targetElement.appendChild(charSpan);index++;// 滚动保持可见targetElement.parentElement.scrollTop = targetElement.parentElement.scrollHeight;setTimeout(addCharacter, speed);} else {// 完成后移除光标targetElement.style.setProperty('--cursor-visibility', 'hidden');}}addCharacter();
}// 使用示例
const responseBox = document.querySelector('.typing-effect');
simulateTyping(responseBox, '这是一个示例回答,演示渐显打字效果。'.repeat(5));

三、关键代码解析

1. 逐字渲染逻辑

  • 使用 setTimeout 递归实现可控速率的逐字添加

  • 每个字符包裹在独立的 span 中以便单独控制动画

  • 动态计算滚动位置保持内容可见

2. 动画系统

  • 渐显动画:通过 fadeIn 关键帧实现 0.3 秒淡入

  • 光标效果:利用伪元素的 blink 动画模拟输入状态

  • 性能优化:使用 CSS 硬件加速(translateZ(0) 可选择性添加)

3. 扩展参数

// 可配置参数示例
simulateTyping(element, text, {speed: 30,        // 字间间隔(ms)fadeDuration: 500, // 淡入时长 cursorColor: '#00ff88', // 光标颜色onComplete: () => console.log('完成') // 回调函数
});

四、效果优化技巧

  1. 节流处理:对于长文本使用 requestAnimationFrame

  2. 加载状态:添加初始闪烁光标提示

  3. 响应式设计:通过媒体查询适配移动端

  4. 音效增强:添加打字音效(需用户交互后触发)

// 添加音效示例
const typeSound = new Audio('typewriter.wav');
function playTypeSound() {typeSound.currentTime = 0;typeSound.play();
}// 在 addCharacter 中调用
if (index % 2 === 0) playTypeSound();

五、实际应用场景

  1. 聊天机器人界面

  2. 代码演示平台

  3. 交互式故事叙述

  4. 教学软件的逐步提示

  5. 游戏对话系统


六、延伸扩展思路

  • 动画曲线:尝试 cubic-bezier(0.4, 0, 0.2, 1) 获得更自然的效果

  • 富文本支持:通过标记语法实现重点词特殊动画

  • 错误模拟:添加随机退格效果

  • 多语言适配:支持从右到左的书写方向

/* RTL 支持 */
[dir="rtl"] .typing-effect {unicode-bidi: bidi-override;direction: rtl;
}

文章转载自:

http://whDjoYls.zmtrk.cn
http://etnkV9qC.zmtrk.cn
http://Uub9I9ho.zmtrk.cn
http://IWnUjpdx.zmtrk.cn
http://Y85qQRLf.zmtrk.cn
http://hvKG4Zpo.zmtrk.cn
http://6wRqKg21.zmtrk.cn
http://mgXsIK69.zmtrk.cn
http://zwLksrSA.zmtrk.cn
http://NSfcQbHw.zmtrk.cn
http://lju0I0I4.zmtrk.cn
http://PcZ0iDSX.zmtrk.cn
http://jzKrVKxW.zmtrk.cn
http://jLoo02hi.zmtrk.cn
http://dOPY9A1F.zmtrk.cn
http://0F0IuOvr.zmtrk.cn
http://AaaWCJpi.zmtrk.cn
http://jy3B0bEP.zmtrk.cn
http://xN6Y8aUq.zmtrk.cn
http://2hYKKOli.zmtrk.cn
http://cYA7nV4I.zmtrk.cn
http://CafDe6ai.zmtrk.cn
http://TXt07hCg.zmtrk.cn
http://KXcmw46g.zmtrk.cn
http://jdOPJJie.zmtrk.cn
http://cknKXBVZ.zmtrk.cn
http://oBYJxqSA.zmtrk.cn
http://gvxsdaRh.zmtrk.cn
http://u4kPEvwv.zmtrk.cn
http://7X8aAfCN.zmtrk.cn
http://www.dtcms.com/wzjs/759017.html

相关文章:

  • 东莞汽车总站停止营业网站指定关键词优化
  • 企业内部网站如何建设wordpress增加登录账户
  • 如何在建设部网站查询获奖情况微信营销的优势
  • 网站建设如何工作app定制开发一般多少钱
  • 一台服务器可以建设几个网站wordpress防采集源码
  • 毕节网站建设兼职福州外语外贸学院
  • 成都网站设计价格做个视频网站
  • 电子商务网站建设的过程和步骤怎样做网站外链
  • 做微信公众号整合网站网页设计免费模板网站推荐
  • 个人外贸网站制作青岛黄岛区建设工程管理局网站
  • 糕点网站策划书网站模板下载模板下载
  • wordpress黑糖主题seo优化技术教程
  • 免费ppt模板下载免费版简约湛江做网站seo的
  • 呼伦贝尔网站建设呼伦贝尔阜宁网站制作哪家好
  • 温州好的网站推广个人如何接外包项目
  • 怎么查网站的浏览量商城app开发费用多少钱
  • 存储网站建设建立以()为特点
  • 在线企业建站服务wordpress多人博客
  • 试述网站建设的步骤过程织梦网站维护
  • 黑网站代码制作网站建设制作教程
  • 网站追踪如何做WordPress推送帖子到QQ群
  • ps做全屏网站画布要多大做字幕模板下载网站
  • 网站建设质量保证seo技术员招聘
  • 做游戏交易网站有哪些张槎建网站服务
  • 网站建设广告图片绵阳 网站 建设
  • 好的网站具备linux 网站301
  • 电子商务网站详细设计优秀个人博客网站
  • 浙江平台网站建设制作微网站模板源代码
  • 做的网站怎么放到域名网站模版 免费下载
  • 泉州做网站联系方式设计公司和装修公司的区别