vue+intro.js插件实现引导功能

 更新时间:2024年06月17日 11:03:12   作者:妍崽崽@  
使用 intro.js这个插件,来实现一个引导性的效果,经常在一些新手引导页遇到这样的需求,下面通过本文给大家分享vue+intro.js插件实现引导功能,感兴趣的朋友一起看看吧

前言:

使用 intro.js这个插件,来实现一个引导性的效果,适用场景,比如:新手引导页,操作说明等等

效果图:

官网地址:点我

实现步骤:

1、安装

npm install intro.js --save
pnpm/cnpm  用法一样
yarn add intro.js

2、使用方法1,新建一个单独vue组件

template部分:

<template>
    <div class='card-demo'>我是界面写入的元素</div>
</template>

js部分:

import intro from "intro.js"  // introjs库
import "intro.js/introjs.css" // introjs默认css样式
data() {
    return {
      option: {
        // 参数对象
        prevLabel: "上一步",
        nextLabel: "下一步",
        skipLabel: "跳过",
        doneLabel: "完成",
        tooltipClass: "intro-tooltip" /* 引导说明文本框的样式 */,
        // highlightClass: 'intro-highlight', /* 说明高亮区域的样式 */
        exitOnEsc: true /* 是否使用键盘Esc退出 */,
        exitOnOverlayClick: false /* 是否允许点击空白处退出 */,
        keyboardNavigation: true /* 是否允许键盘来操作 */,
        showBullets: false /* 是否使用点显示进度 */,
        showProgress: false /* 是否显示进度条 */,
        scrollToElement: true /* 是否滑动到高亮的区域 */,
        skipHighlight: true,
        overlayOpacity: 0.5, // 遮罩层的透明度 0-1之间
        positionPrecedence: [
          "bottom",
          "top",
          "right",
          "left",
        ] /* 当位置选择自动的时候,位置排列的优先级 */,
        disableInteraction: false /* 是否禁止与元素的相互关联 */,
        hidePrev: true /* 是否在第一步隐藏上一步 */,
        hideNext: false /* 是否在最后一步隐藏下一步 */,
        steps: [] /* steps步骤,可以写个工具类保存起来 */,
      },
    }
}
methods:{
    init(){
        let steps= [{
            title: 'Welcome',
            intro: 'Hello World! 👋'
          },
          { // 图片的可以展示
            intro: '<img src="https://i.giphy.com/media/ujUdrdpX7Ok5W/giphy.webp" onerror="this.onerror=null;this.src=\'https://i.giphy.com/ujUdrdpX7Ok5W.gif\';" alt="">'
          },
          { // 可以指定界面上的元素,然后显示指定内容
            element: document.querySelector('.card-demo'),
            intro: 'This step focuses on an element'
          }]
        introJs().setOptions({
          ...this.option,// 配置属性
          steps: steps // 每一步展示的内容
        })
        .oncomplete(() => {    console.log("点击结束按钮后执行的事件")    })
        .onexit(() => {    console.log("点击跳过按钮后执行的事件")    })
        .onbeforeexit(() => { console.log('确认完毕之后执行的事件')    })
        .start()
    },
}
mounted(){
    this.init()
}

3、使用方法2

  • data-title:标题文字
  • data-intro:提示信息内容
  • data-step:步骤的编号(优先级)
  • data-tooltipClass:为提示定义CSS类
  • data-highlightClass:将CSS类附加到helperLayer
  • data-position:提示的位置,默认是bottom
  • data-scrollTo:滚动到的元素,element或tooltip。默认值为element。
  • data-disable-interaction:是否禁用与突出显示的框内的元素的交互

template部分:

<template>
  <div data-title="test1" data-intro="intro-test1" data-step='1'>
    第一步
  </div>
  <div data-title="test2" data-intro="intro-test2" data-step='2'>
    第二步
  </div>
  <div data-title="test3" data-intro="intro-test3" data-step='3'>
    第三步
  </div>
</template>

js部分:

mounted(){
    introJs().start()
}

4、键盘事件

window.addEventListener('keydown', function(event) {
    // 左箭头
    if(event.keyCode == 37) {
        console.log('左箭头被按下');
        // 在此处处理左箭头的逻辑
    }
    // 右箭头
    else if(event.keyCode == 39) {
        console.log('右箭头被按下');
        // 在此处处理右箭头的逻辑
    }
});

到此这篇关于vue+intro.js插件实现引导功能的文章就介绍到这了,更多相关vue引导功能内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue实现自定义多选与单选的答题功能

    vue实现自定义多选与单选的答题功能

    这篇文章主要介绍了使用vue实现自定义多选与单选的答题功能,vue组件中在表单方面提供了一个v-model指令,非常好用,具体实现过程大家跟随脚本之家小编一起看看吧
    2018-07-07
  • Vue CLI3 开启gzip压缩文件的方式

    Vue CLI3 开启gzip压缩文件的方式

    gizp压缩是一种http请求优化方式,通过减少文件体积来提高加载速度。这篇文章主要介绍了Vue CLI3 开启gzip压缩,需要的朋友可以参考下
    2018-09-09
  • Vue表单验证插件的制作过程

    Vue表单验证插件的制作过程

    这篇文章主要为大家详细介绍了Vue表单验证插件的制作过程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Elementui表格组件+sortablejs实现行拖拽排序的示例代码

    Elementui表格组件+sortablejs实现行拖拽排序的示例代码

    这篇文章主要介绍了Elementui表格组件+sortablejs实现行拖拽排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Vue组件模板的几种书写形式(3种)

    Vue组件模板的几种书写形式(3种)

    这篇文章主要介绍了Vue组件模板的几种书写形式(3种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 图文详解如何在vue3+vite项目中使用svg

    图文详解如何在vue3+vite项目中使用svg

    SVG指可伸缩矢量图形,用来定义用于网络的基于矢量的图形,下面这篇文章主要给大家介绍了关于如何在vue3+vite项目中使用svg的相关资料,需要的朋友可以参考下
    2021-11-11
  • vue中使用echarts制作圆环图的实例代码

    vue中使用echarts制作圆环图的实例代码

    这篇文章主要介绍了vue中使用echarts制作圆环图的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • 关于element-ui表单中限制输入纯数字的解决方式

    关于element-ui表单中限制输入纯数字的解决方式

    这篇文章主要介绍了关于element-ui表单中限制输入纯数字的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • vue中ref和$refs获取元素dom、获取子组件数据与方法调用示例

    vue中ref和$refs获取元素dom、获取子组件数据与方法调用示例

    在Vue3中要获取子组件的DOM节点,你可以使用ref来引用子组件,然后通过$refs来访问子组件的DOM,下面这篇文章主要给大家介绍了关于vue中ref和$refs获取元素dom、获取子组件数据与方法调用的相关资料,需要的朋友可以参考下
    2024-07-07
  • 详解Vue的键盘事件

    详解Vue的键盘事件

    这篇文章主要为大家介绍了Vue的键盘事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01

最新评论