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

Vue-Typed-JS打字动画效果

vue-typed-js 简介

vue-typed-js 是 Vue.js 的一个插件,基于 Typed.js 实现打字机动画效果。适用于展示动态文本、标语或代码片段,支持自定义速度、循环等配置。


安装方法

通过 npm 或 yarn 安装:

npm install vue-typed-js
# 或
yarn add vue-typed-js

在项目中全局注册:

import Vue from 'vue';
import VueTypedJs from 'vue-typed-js';Vue.use(VueTypedJs);


基础用法

在组件中直接使用 vue-typed-js 组件:

<template><vue-typed-js :strings="['Hello World', 'Welcome to Vue Typed JS']"><h1 class="typing"></h1></vue-typed-js>
</template>


配置选项

通过 props 传递参数控制动画行为:

<template><vue-typed-js:strings="['Option 1', 'Option 2']":typeSpeed="50":backSpeed="30":loop="true"><span class="typing"></span></vue-typed-js>
</template>

常用参数:

  • strings:数组形式,包含要显示的文本。
  • typeSpeed:打字速度(毫秒)。
  • backSpeed:删除速度(毫秒)。
  • loop:是否循环播放。
  • showCursor:是否显示光标。

事件绑定

监听动画状态变化:

<template><vue-typed-js@onComplete="handleComplete"@preStringTyped="handlePreTyped"><p class="typing"></p></vue-typed-js>
</template><script>
export default {methods: {handleComplete() {console.log('Animation completed');},handlePreTyped(stringIndex) {console.log(`Typing string ${stringIndex}`);}}
};
</script>


动态更新内容

通过 ref 动态修改文本:

<template><vue-typed-js ref="typed" :strings="initialStrings"><div class="typing"></div></vue-typed-js><button @click="updateText">更新文本</button>
</template><script>
export default {data() {return {initialStrings: ['Initial Text']};},methods: {updateText() {//this.$refs.typed.$typed 实例this.$refs.typed.options.strings = ['New Text'];this.$refs.typed.typed.reset(); // 重置动画}}
};
</script>


样式自定义

通过 CSS 修改光标或文本样式:

.typed-cursor {opacity: 1;color: #42b983;animation: blink 0.7s infinite;
}@keyframes blink {0% { opacity: 1; }50% { opacity: 0; }100% { opacity: 1; }
}

常用配置属性

属性类型默认值描述
stringsArray[]要显示的文字数组
stringsElementStringnull包含字符串的元素的ID
typeSpeedNumber40打字速度(毫秒)
backSpeedNumber20删除速度(毫秒)
startDelayNumber0开始前的延迟
backDelayNumber500删除前的延迟
loopBooleanfalse是否循环
loopCountNumberInfinity循环次数
showCursorBooleantrue是否显示光标
cursorCharString""光标字符
fadeOutBooleanfalse是否淡出
fadeOutClassString"typed-fade-out"淡出CSS类
fadeOutDelayNumber500淡出延迟
shuffleBooleanfalse是否随机播放字符串
smartBackspaceBooleantrue是否智能退格

Vue-Typed-JS 实例方法 

方法名参数返回值说明
start()--开始打字动画
stop()--停止当前动画
toggle()--切换动画状态(运行/停止)
reset()--重置动画(清除文本并回到初始状态)
destroy()--完全销毁实例
complete()--立即完成当前字符串的显示
cursor.remove()--移除光标元素
cursor.show()--显示光标(如果之前被隐藏)
cursor.hide()--隐藏光标

动态更新字符串的方法:

// 需要先重置再更新
this.$refs.myTyped.$typed.strings = ["新文本1", "新文本2"];
this.$refs.myTyped.$typed.reset().start();

 事件监听方法:

this.$refs.myTyped.$typed.on('complete', () => {console.log('动画完成');
});

 提示:所有方法调用前需通过 this.$refs.[ref名称].$typed 获取实例。修改配置属性(如 strings)后需要调用 reset() 使更改生效。 

注意事项

  1. 确保 strings 为数组类型,否则动画无效。
  2. 动态更新内容时需调用 reset() 方法重新触发动画。
  3. 如需复杂配置,参考 Typed.js 官方文档 的完整参数列表。
http://www.xdnf.cn/news/13374.html

相关文章:

  • HDFS 异构存储及存储策略
  • html打印合同模板
  • SAP学习笔记 - 开发31 - 前端Fiori开发 Device Adaptation(设备自适应)
  • 3 Studying《深入理解Android卷(邓凡平)》2
  • python基础面试练习题
  • Spring Boot 3 集成 MyBatis 连接 MySQL 数据库
  • TrOCR模型微调
  • 手机连接windows遇到的问题及解决方法
  • 40道Bash Shell高频题整理(附答案背诵版)
  • day 50
  • 【记录头条】头条内容合规快速自查清单
  • C++与C有什么不同
  • 【案例实战】轻创业技术手册:如何用最小MVP模型验证市场需求?低成本创业可以做什么?低成本创业项目排行榜前十名!轻资产创业项目做什么比较好?格行代理怎么样?
  • 统计学习—有监督part
  • tcp综述
  • Windows网络配置避坑指南
  • pikachu靶场通关笔记24 SQL注入07-http header注入
  • HTTP 响应状态码
  • 25/6/11 <算法笔记>RL基础算法讲解
  • Kotlin基础语法三
  • 遗传算法详解:从自然选择到代码实战
  • 【斤斤计较的小Z——KMP / hash】
  • 网传西门子12亿美元收购云原生工业软件,云化PLM系统转机在协同
  • C#高级:利用反射让字符串决定调用哪个方法
  • Leetcode20 (有效的括号)
  • Windows笔记之Win11让非焦点窗口程序也能获得流畅性能的方法
  • [论文阅读] 算法 | 布谷鸟算法在声源定位中的应用研究
  • 三星手机Galaxy S24 Ultra使用adb工具关闭和开启系统更新
  • 达梦数据库 单机部署dmhs同步复制(DM8—>DM8)
  • 基于matlab/Simulink的三相四线逆变器并联系统仿真