vue 中使用vue-introjs做引导动画

简介: vue 中使用vue-introjs做引导动画

先看页面效果:

1、不做任何样式修改,vue-introjs默认的样式效果如下:可以配置title,跳过,上一步,下一步等

2、修改修改样式,根据自己需求去做效果如下:

web端和h5都可以使用,具体用法如下:

一、npm安装

vue-introjs 是在 Vue 中绑定 intro.js 所使用的。vue-introjs 中没有内置 intro.js,所以在使用前请确保已安装 intro.js

npm i intro.js
npm i vue-introjs

二、webpack配置:在webpack的plugins中做以下配置

 plugins: [
    // other modules
    new webpack.ProvidePlugin({
      'introJs': ['intro.js']
    })
 ],

三、main.js中引入

安装了 intro.js 之后,webpack.ProvidePlugin 将会使用它,所以不需要在 src/main.js 中使用 import introJs from 'intro.js' 来引用。

但是需要在main.js中引入使用vue-introjs

import VueIntro from 'vue-introjs';
Vue.use(VueIntro); 
import 'intro.js/introjs.css';

四、页面中使用:需要在页面渲染完成后,使用,下面steps中配置需要引导元素的element:id或者类名即可,disableInteraction: true,与本身元素不关联,防止引导期间可以操作输入等

mounted() {
    this.$nextTick(() => {
      this.initIntro();
    });
  },
  methods: {
    initIntro() {
      let steps = [
        {
          element: "#EHRCode",
          intro:"介绍信息",
          position: "right"
        },
        {
          element: "#SpareEmail",
          intro:"介绍信息",
          position: "right"
        }
      ];
      var intro = introJs();
      intro.setOptions({
        prevLabel: "上一步",
        nextLabel: "下一步",
        skipLabel: "跳过",
        doneLabel: "完成",
        tooltipPosition: "bottom" /* 引导说明框相对高亮说明区域的位置 */,
        hidePrev: "true", //隐藏第一步中的上一个按钮
        tooltipClass: "xxx" /* 引导说明文本框的样式 */,
        highlightClass: "xxxxx" /* 说明高亮区域的样式 */,
        exitOnOverlayClick: false /* 是否允许点击空白处退出 */,
        showStepNumbers: false /* 是否显示说明的数据步骤*/,
        keyboardNavigation: false /* 是否允许键盘来操作 */,
        showButtons: true /* 是否按键来操作 */,
        showBullets: false /* 是否使用点点点显示进度 */,
        showProgress: true /* 是否显示进度条 */,
        scrollToElement: true /* 是否滑动到高亮的区域 */,
        overlayOpacity: 0.8 /* 遮罩层的透明度 */,
        positionPrecedence: [
            "bottom",
            "top",
            "right",
            "left"
        ] /* 当位置选择自动的时候,位置排列的优先级 */,
        disableInteraction: true, /* 是否禁止与元素的相互关联 */
        steps:steps
      });
      intro.oncomplete(() => {
        //点击结束按钮后执行的事件
        console.log("oncomplete");
      });
      intro.onexit(() => {
        //点击跳过按钮后执行的事件
        console.log("onexit");
      });
      intro.onchange(() => {
        //点击下一步执行的事件
        console.log("onchange");
      });
      intro.start();
    },
}

五、关键字:setOption 主要参数如下:

     /* 下一步按钮的显示名称 */
          nextLabel: 'Next →',
          /* 上一步按钮的显示名称 */
          prevLabel: '← Back',
          /* 跳过按钮的显示名称 */
          skipLabel: 'Skip',
          /* 结束按钮的显示名称 */
          doneLabel: 'Done',
          /* 引导说明框相对高亮说明区域的位置 */
          tooltipPosition: 'bottom',
          /* 引导说明文本框的样式 */
          tooltipClass: '',
          /* 说明高亮区域的样式 */
          highlightClass: '',
          /* 是否使用键盘Esc退出 */
          exitOnEsc: true,
          /* 是否允许点击空白处退出 */
          exitOnOverlayClick: true,
          /* 是否显示说明的数据步骤*/
          showStepNumbers: true,
          /* 是否允许键盘来操作 */
          keyboardNavigation: true,
          /* 是否按键来操作 */
          showButtons: true,
          /* 是否使用点点点显示进度 */
          showBullets: true,
          /* 是否显示进度条 */
          showProgress: false,
          /* 是否滑动到高亮的区域 */
          scrollToElement: true,
          /* 遮罩层的透明度 */
          overlayOpacity: 0.8,
          /* 当位置选择自动的时候,位置排列的优先级 */
          positionPrecedence: ["bottom", "top", "right", "left"],
          /* 是否禁止与元素的相互关联 */
          disableInteraction: false,
          /* 默认提示位置 */
          hintPosition: 'top-middle',
          /* 默认提示内容 */
          hintButtonLabel: 'Got it'


    注意:样式可以根据自己的需求做覆盖,显示影藏某些按钮可以配置或用js隐藏


    相关文章
    |
    9天前
    |
    缓存 JavaScript 前端开发
    vue学习第四章
    欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
    vue学习第四章
    |
    9天前
    |
    JavaScript 前端开发
    vue学习第九章(v-model)
    欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生,自学前端2年半,正向全栈进发。此篇介绍v-model在不同表单元素中的应用及修饰符的使用,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
    vue学习第九章(v-model)
    |
    9天前
    |
    JavaScript 前端开发 开发者
    vue学习第十章(组件开发)
    欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文深入讲解Vue组件的基本使用、全局与局部组件、父子组件通信及数据传递等内容,适合前端开发者学习参考。持续更新中,期待您的关注!🎉🎉🎉
    vue学习第十章(组件开发)
    |
    15天前
    |
    JavaScript 前端开发
    如何在 Vue 项目中配置 Tree Shaking?
    通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
    |
    15天前
    |
    存储 缓存 JavaScript
    如何在大型 Vue 应用中有效地管理计算属性和侦听器
    在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
    |
    14天前
    |
    JavaScript 前端开发 UED
    vue学习第二章
    欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
    |
    14天前
    |
    JavaScript 前端开发 开发者
    vue学习第一章
    欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
    |
    存储 前端开发 JavaScript
    为什么我不再用Vue,改用React?
    当我走进现代前端开发行业的时候,我做了一个每位开发人员都要做的决策:选择一个合适的框架。当时正逢 jQuery 被淘汰,前端开发者们不再用它编写难看的、非结构化的老式 JavaScript 程序了。
    |
    15天前
    |
    存储 缓存 JavaScript
    在 Vue 中使用 computed 和 watch 时,性能问题探讨
    本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
    |
    15天前
    |
    存储 缓存 JavaScript
    Vue 中 computed 和 watch 的差异
    Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
    下一篇
    无影云桌面