如何用 Typed.js 制作炫酷的打字效果?

前言

在前端开发的世界中,动态和交互性是用户体验的关键。

Typed.js 是一个轻量级的 JavaScript 库,它能够以编程方式模拟打字效果,为网页增添动态的文本展示。

这篇文章将带你深入了解 Typed.js 的魔力,探索它如何为前端开发带来新的活力。

github:https://github.com/mattboldt/typed.js/

官网:https://mattboldt.com/demos/typed-js/

介绍

Typed.js 是一个简单易用的库,它允许开发者在网页上实现打字机效果。

通过简单的配置,你可以让文本以设定的速度逐字显示,然后逐字删除,再开始下一句,如此循环。

这种效果不仅能够吸引用户的注意力,还能以一种新颖的方式展示信息。

特点

  1. 轻量级Typed.js 体积小巧,不会给网页加载带来负担。

  2. 高度可定制:支持多种参数设置,如打字速度、删除速度、循环次数等。

  3. 易于集成:可以轻松集成到任何 HTML 元素中。

  4. 响应式:能够适应不同设备和屏幕尺寸。

使用场景

  • 动态欢迎信息:在网站首页展示动态的欢迎语。

  • 特色功能介绍:动态展示产品或服务的特点。

  • 动态标语:用于营销活动,吸引用户注意。

  • 交互式教程:在教学网站中引导用户学习。

使用案例

Vue 项目中,你可以这样使用 Typed.js

  1. 安装 Typed.js
npm install typed.js
  1. 在 Vue 组件中使用
<template><div id="typing-demo" class="typing-container"><span class="typing-text"></span></div>
</template><script>
import Typed from 'typed.js';export default {name: 'TypingDemo',mounted() {new Typed('.typing-text', {strings: ['你好,这里是我码玄黄', '欢迎来到我的公众号', '我将每日分享好玩的技术内容'],typeSpeed: 50,backSpeed: 25,loop: true,showCursor: true,cursorChar: "|",smartBackspace: true,attr: null,bindings: null,contentType: 'html',onComplete: function(self) {console.log('Typed.js finished typing');},onStringTyped: function(pos, self) {console.log('Typed.js typed:', pos);},onLastStringBackspaced: function(self) {console.log('Typed.js backspace complete');},onStart: function(self) {console.log('Typed.js started');},onDestroy: function(self) {console.log('Typed.js destroyed');}});}
}
</script><style>
.typing-container {font-family: 'Courier New', Courier, monospace;font-size: 24px;color: #333;padding: 10px;background-color: #f4f4f4;border-radius: 8px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);margin: 20px auto;width: 80%;text-align: center;
}.typing-text {font-weight: bold;color: #007BFF;
}.typing-container .typed-cursor {opacity: 1;animation: blink 0.7s infinite;
}@keyframes blink {50% { opacity: 0; }
}
</style>

这段代码将在页面上创建一个动态打字效果,展示三句欢迎语。

效果如下:

总结

Typed.js 是一个强大的工具,它通过简单的代码就能为网页添加动态和吸引力。

无论是用于商业网站还是个人博客,它都能有效地提升用户体验。

尝试在你的下一个项目中使用它,看看它如何为你的网页带来活力。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/416157.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux网络】应用层协议HTTP(1)

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux网络 &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解 应用层协议HTTP 的相关内容。 如果看到最后您觉得这篇文章写得…

Mybatis链路分析:JDK动态代理和责任链模式的应用

背景 此前写过关于代理模式的文章&#xff0c;参考&#xff1a;代理模式 动态代理功能&#xff1a;生成一个Proxy代理类&#xff0c;Proxy代理类实现了业务接口&#xff0c;而通过调用Proxy代理类实现的业务接口&#xff0c;实际上会触发代理类的invoke增强处理方法。 责任链功…

算法笔试-编程练习-好题-03

这是一道非常综合的质数类的题目&#xff0c;值得仔细理解。 题目描述 n个正整数ai&#xff0c;希望你求出这些数的阶乘全部乘在一起生成的大数有多少个因子 输入描述 第一行输入一个正整数n。 第二行输入n个正整数ai​&#xff0c;用空格隔开 1≤n≤2 1≤ai≤ 输出描述 一个…

IP地址存在的意义及更改方法探析

在互联网的广阔天地中&#xff0c;‌每一个连接的设备都拥有一个独特的身份标识——IP地址。‌它不仅是设备在网络中的“身份证”&#xff0c;‌更是确保数据传输准确无误的基石。‌然而&#xff0c;‌随着网络环境的不断变化&#xff0c;‌有时我们需要更改设备的IP地址以适应…

关于SpringMVC的理解

1、SpringMVC 应用 1.1、简介 1.1.1、MVC 体系结构 三层架构&#xff1a; 我们的开发架构⼀般都是基于两种形式&#xff0c;⼀种是 C/S 架构&#xff0c;也就是客户端/服务器&#xff1b;另⼀种是 B/S 架构&#xff0c;也就是浏览器服务器。在 JavaEE 开发中&#xff0c;⼏乎…

2024最新PyCharm下载安装激活汉化教程!(附激活码)

激活码&#xff08;文末附带精品籽料&#xff09;&#xff1a; K384HW36OB-eyJsaWNlbnNlSWQiOiJLMzg0SFczNk9CIiwibGljZW5zZWVOYW1lIjoibWFvIHplZG9uZyIsImxpY2Vuc2VlVHlwZSI6IlBFUlNPTkFMIiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6I…

Qt模态对话框与非模态对话框

前言 在 Qt 中&#xff0c;模态对话框和非模态对话框是两种常见的对话框类型&#xff0c;它们的主要区别在于用户与应用程序的交互方式。 正文 对话框就是指QDialog嘛。 模态对话框 (Modal Dialog) 定义: 模态对话框是指在弹出对话框期间&#xff0c;用户无法与应用程序的…

Linux的远程登录教程(超详细)

我们在进行远程登录时要用的一种协议叫SSH&#xff0c;那什么叫SSH呢&#xff1f; SSH&#xff08;Secure Shell&#xff09;是一种网络协议&#xff0c;用于在不安全的网络中提供安全的远程登录和其他网络服务。它通过加密技术确保数据在传输过程中的机密性和完整性&#xff…

Python | Leetcode Python题解之第393题UTF-8编码验证

题目&#xff1a; 题解&#xff1a; class Solution:def validUtf8(self, data: List[int]) -> bool:MASK1, MASK2 1 << 7, (1 << 7) | (1 << 6)def getBytes(num: int) -> int:if (num & MASK1) 0:return 1n, mask 0, MASK1while num & m…

如何快速采集淘宝商品数据?

无论是谁&#xff0c;如果单凭人工的方式去收集淘宝、天猫等平台的商品数据信息&#xff0c;工作量是巨大的&#xff0c;如果借助有采集软件的第三方公司操作&#xff0c;则可实现对大数据的轻松掌握&#xff0c;但是外包给第三方公司需要支付一定的费用&#xff0c;包含技术费…

【IPV6从入门到起飞】2-2 获取你的IPV6(Teredo隧道)

【IPV6从入门到起飞】2-2 获取你的IPV6&#xff08;Teredo隧道&#xff09; 1 打工人的忧伤2 Teredo介绍2.1 背景2.2 工作原理 3 Linux 服务器获取IPV63.1 安装3.2 设置开机自启动和启动3.3 开放防火墙 UDP 35443.4 查看IPV6以及ping包测试3.5 修改Teredo服务器3.6 重启服务3.7…

SpringBoot 项目集成 xxl-job

1. xxl-job 官网 https://www.xuxueli.com/xxl-job/ 2. git 拉取 xxl-job 源码 2.1 源码仓库地址 https://github.com/xuxueli/xxl-job http://gitee.com/xuxueli0323/xxl-job 2.2 git 拉取源码 git clone https://gitee.com/xuxueli0323/xxl-job.git 2.3 git拉取源码时&…

C++11重大新增特性:左值引用 右值引用 移动构造 移动赋值

C11重大新增特性&#xff1a;左值引用 & 右值引用 & 移动构造 & 移动赋值 一、右值引用和左值引用概念和区别1.1 左值 & 左值引用1.2 右值 & 右值引用 二、左值引用和右值引用对比2.1 左值引用2.1 右值引用 三、右值和右值引用诞生的意义四、移动构造 &…

【射频通信电子线路基础第一讲】射频电子线路基础绪论——射频概念、通信系统、语义通信

1. 射频与高频广义上的概念厘清 高频&#xff1a;就是频率高&#xff08;大于10K&#xff09;&#xff0c;单位一般用MHz&#xff08;兆赫&#xff09;表示。 射频&#xff1a;Radio Frequency&#xff0c;简称RF&#xff0c;300K-300G。射频就是射频电流&#xff0c;它是一种…

Java详解String 字符串类以及String内存原理、StringBuilder类、StringJoiner类(附有代码+案例)

文章目录 九.String 字符串类型9.0 String概述9.1 字符串常用方法9.2 String内存图9.2.1直接赋值9.2.2new出来 9.3字符串比较9.4 字符串遍历9.4.1 统计字符串大小写及数字9.4.2 拼接字符串9.4.3字符串反转 9.5 StringBuilder类9.5.1StringBuilder 构造方法9.5.2StringBuilder常…

es集群详解

1、基本介绍 1.1、为什么需要集群 单台 Elasticsearch 服务器提供服务&#xff0c;往往都有最大的负载能力&#xff0c;超过这个阈值&#xff0c;服务器性能就会大大降低甚至不可用&#xff0c;所以生产环境中&#xff0c;ES 一般都是运行在指定服务器集群中。 除了负载能力&…

九银十拿到大模型(LLM)offer,面试八股

金九银十拿到大模型&#xff08;LLM&#xff09;offer&#xff0c;面试八股 从事大模型的朋友在 金J九银十拿到了一份不错的offer&#xff0c;面试十几家公司&#xff0c;通过了六家。好在分享了大佬总结的大模型方向面试的常见题目&#xff08;含答案&#xff09;&#xff0c;…

RS232转RS485

1.232转485转换器 232转485转换器是RS-232与RS-485之间的双向接口的转换器&#xff0c;应用于主控机之间&#xff0c;主控机与单片机或外设之间构成点到点&#xff0c;点到多点远程多机通信网络&#xff0c;实现多机应答通信&#xff0c;广泛地应用于工业自动化控制系统&#x…

LLM代码实现-Qwen(Function Calling)

简介 Function Calling 是一种让 Chat Completion 模型调用外部函数的能力&#xff0c;可以让模型不仅仅根据自身的数据库知识进行回答&#xff0c;而是可以额外挂载一个函数库&#xff0c;然后根据用户提问去函数库检索&#xff0c;按照实际需求调用外部函数并获取函数运行结…

Unknown command: “create-react-app“

在创建react项目时出现报错" Unknown command: "create-react-app" " 解决方法&#xff1a; 配置全局变量&#xff0c;" win r " 打开cmd窗口&#xff0c;输入下列命令&#xff0c;回车等待结束即可&#xff1a; npx create-react-app my-pro…