首页 > 其他分享 >vue自定义指令实现打字效果

vue自定义指令实现打字效果

时间:2024-09-24 22:02:10浏览次数:1  
标签:el vue typewrite 自定义 打字 typingEffectActive let originalText

实现如通义灵码官网关于代码片段中,当鼠标hover上代码上时,出现打字效果,示例地址:https://tongyi.aliyun.com/lingma?spm=5176.28508143.J_ahRFo5CaAe_asSOaCgS4J.14.5421154auHz4xJ&scm=20140722.M_185502201.P_131.MO_2276-ID_10360025-MID_10360025-CID_31292-ST_10352-V_1

通过vue2封装指令的方式实现:

import Vue from 'vue';

const typewrite = {
  bind(el, binding) {
    const typingSpeed = 50; // 打字速度,单位为毫秒
    let typingEffectActive = false;
    let originalText = el.textContent;
    el.textContent = originalText; // 初始化文本内容

    el.addEventListener('mouseenter', function() {
      if (!typingEffectActive){
        typingEffectActive = true;
        el.textContent = '';
        let i = 0;
        let typingEffect = setInterval(function() {
          if (i < originalText.length) {
            el.textContent += originalText.charAt(i);
            i++;
          } else {
            clearInterval(typingEffect); // 清除定时器
            typingEffectActive = false;
          }
        }, typingSpeed); // 设置速度,每100毫秒添加一个字符
      }
    });
  }
}

Vue.directive('typewrite',typewrite);

调用方式:

div v-typewrite class="app-con" style="width: 500px;text-align: left;">
      这里是默认显示的文字,鼠标悬停时将触发打字效果。
      这里是默认显示的文字,鼠标悬停时将触发打字效果。
      这里是默认显示的文字,鼠标悬停时将触发打字效果
    </div>
    <pre v-typewrite>
       var message="欢迎";
          for(var i=1;i<=10;i++)
          {
              alert(message);
          }
    </pre>

当然也可以使用第三方插件,例如:typed.js,参考地址:https://www.cnblogs.com/sexintercourse/p/18113289

标签:el,vue,typewrite,自定义,打字,typingEffectActive,let,originalText
From: https://www.cnblogs.com/moqiutao/p/18430148

相关文章

  • Vue.config.js中配置Proxy代理HTTPS
    Vue.config.js中配置Proxy代理HTTPS基本概念与作用为什么要使用HTTPS代理?示例一:基础HTTPS代理配置示例二:多环境代理配置示例三:忽略某些路径示例四:支持WebSocket代理示例五:高级配置实际开发中的使用技巧在开发基于Vue.js的应用时,经常会遇到前后端分离的情况,即前端应......
  • Vue修改全局样式 v-style指令详解
    Vue修改全局样式v-style指令详解基本概念与作用基础用法示例一:动态修改单个元素的样式示例二:使用计算属性动态设置样式示例三:全局样式动态化示例四:使用Vue生命周期钩子设置样式示例五:通过Vuex管理全局样式实际开发中的使用技巧在Vue.js的开发过程中,有时我们......
  • Vue2+3基础
    。第一个Vue程序使用script进行Vue全局设置: 指定Vue实例挂载的位置,Vue和js一样,都需要在script里写第一步创建vue实例1.为什么要newvue(),直接调用Vue不行吗?不行,因为如果直接调用Vue()会报如下错误: 2.关于vue构造函数:optionsoptions翻译为多个选项Vue框架要求这......
  • 【开题报告】基于django+vue医院电子病历管理(论文+程序)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗技术的飞速发展和医疗信息化建设的不断深入,医院电子病历管理系统已成为现代医疗体系中不可或缺的一部分。传统的纸质病历不仅存储......
  • 多校园信息付费发布顶置自定义表单小程序开源版开发
    多校园信息付费发布顶置自定义表单小程序开源版开发为校园管理和互动提供了强大的支持,包括用户端和运营后台两大部分。用户端允许学生和教职工方便地访问各种功能模块,而运营后台则使管理员能够高效地管理和配置系统。产品支持自定义模块和表单,允许根据需求创建各种功能,例如表白墙、......
  • Vue3路由权限控制
    Vue3路由权限控制设置路由:静态路由与动态路由静态路由:这些是在应用启动时就已经定义好的路由,通常包括一些不需要权限验证的公共页面,如登录页、404页面等。动态路由:这些路由是根据用户的权限决定的,通常包括需要权限验证的页面。登录获取token/sessionId等数据,利用pi......
  • Vue router 4 基础知识讲解
    1.Vuerouter4基础在构建现代Web应用时,单页应用(SPA)因其流畅的用户体验和快速的页面切换能力,成为了众多项目的首选架构。然而,在SPA中,随着应用功能的日益复杂,权限控制成为了一个不可忽视的问题。如何确保不同用户只能访问其被授权的资源,是保障应用安全和数据一致性的......
  • 【万字文档+PPT+源码】基于springboot+vue医院挂号系统-可用于毕设-课程设计-练手学习
    博主简介:......
  • 【万字文档+PPT+源码】基于springboot+vue新闻发布系统-可用于毕设-课程设计-练手学习
    博主简介:......
  • 调试vue build之后的js文件
    调试dist目录下的JavaScript文件可以按照以下步骤进行:1.确保SourceMaps正常生成确认你的构建配置中已启用SourceMaps,确保.map文件与构建后的.js文件位于同一目录。2.启动一个本地服务器使用本地服务器来服务dist目录,这样浏览器可以正确处理文件路径。例如......