vue使用driver.js完成页面引导的功能

news2024/12/21 2:16:28

需求:用户首次进入的时候肯定不知道一些功能是干什么在哪里,之后给用户一个页面引导,教他怎么做。

点击插件driver.js官方文档

效果:

 1.下载driverjs

我默认下载的是最新版 "driver.js": "^1.0.5",,其他的低版本可能导入和使用方式不一样哈,别下错了

npm install driver

2.导入

这个包比较小,只有18k

import { driver } from 'driver.js';
import 'driver.js/dist/driver.css';

3.写几个需要向导的div内容,并且设置id值,用于锁定

 <div id="some-element" class="top">
                <h2>第一步</h2>
                <section>巴拉巴拉</section>
            </div>
                 <!-- 左 -->
                 <div id="step-item-3" class="left">
                <h2>第二步</h2>
                <section>巴拉巴拉</section>
            </div>
            <div id="step-item-4" class="bottom">
                <h2>第三部</h2>
                <section>结束</section>
            </div>

4.引导的内容和定位

每一个元素代表的是每一步

element:用户绑定需要向导的div中id的值,也可以用.类名,或者div,为了准确性最好还是用id值绑定,优先级高点

steps: [
                {
                    element: '#some-element',
                    popover: {
                        title: 'Animated Tour Example',
                        description: "Here is the code example showing animated tour. Let's walk you through it.",
                        side: 'right',//弹窗在元素的位置
                        align: 'start'
                    }
                },
                {
                    element: '#step-item-3',
                    popover: {
                        title: 'Import the Library',
                        description: 'It works the same in vanilla JavaScript as well as frameworks.',
                        side: 'left',
                        align: 'start'
                    }
                },
                {
                    element: '#step-item-4',
                    popover: {
                        title: 'Importing CSS',
                        description: 'Import the CSS which gives you the default styling for popover and overlay.',
                        side: 'bottom',
                        align: 'start'
                    }
                },
                {
                    popover: {
                        title: 'Happy Coding',
                        description: 'And that is all, go ahead and start adding tours to your applications.'
                    }
                }
            ]

5.点击按钮后开始绑定

   const driverObj = driver({
                showProgress: true,
                steps: this.steps
            });
            driverObj.drive();
        }

6.完整代码

<template>
    <div class="content-box">
        <div class="container">
            <el-button @click="query">向导指引</el-button>
            <el-button @click="driverobj">步骤条向导</el-button>
            <div id="some-element" class="top">
                <h2>第一步</h2>
                <section>巴拉巴拉</section>
            </div>
                 <!-- 左 -->
                 <div id="step-item-3" class="left">
                <h2>第二步</h2>
                <section>巴拉巴拉</section>
            </div>
            <div id="step-item-4" class="bottom">
                <h2>第三部</h2>
                <section>结束</section>
            </div>
       
        </div>
    </div>
</template>

<script>
import { driver } from 'driver.js';
import 'driver.js/dist/driver.css';
export default {
    data() {
        return {
            steps: [
                {
                    element: '#some-element',
                    popover: {
                        title: 'Animated Tour Example',
                        description: "Here is the code example showing animated tour. Let's walk you through it.",
                        side: 'right',//弹窗在元素的位置
                        align: 'start'
                    }
                },
                {
                    element: '#step-item-3',
                    popover: {
                        title: 'Import the Library',
                        description: 'It works the same in vanilla JavaScript as well as frameworks.',
                        side: 'left',
                        align: 'start'
                    }
                },
                {
                    element: '#step-item-4',
                    popover: {
                        title: 'Importing CSS',
                        description: 'Import the CSS which gives you the default styling for popover and overlay.',
                        side: 'bottom',
                        align: 'start'
                    }
                },
                {
                    popover: {
                        title: 'Happy Coding',
                        description: 'And that is all, go ahead and start adding tours to your applications.'
                    }
                }
            ]
        };
    },
    mounted() {},
    methods: {
        query() {
            const driverObj = driver();
            driverObj.highlight({
                element: '#some-element',
                popover: {
                    title: 'Title',
                    description: 'Description'
                }
            });
        },
        driverobj() {
            const driverObj = driver({
                showProgress: true,
                steps: this.steps
            });
            driverObj.drive();
        }
    }
};
</script>

<style lang="scss" scoped>
.bottom{
    width: 300px;
    margin-top: 400px;

}
.left{
    width: 300px;
    margin-left: 400px;
}
.top{
    width: 300px;
}
</style>

文章到此结束,希望对你有所帮助~ 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 高级SQL语句(一)

目录 一、高级SQL语句&#xff08;进阶查询&#xff09; 1.1 select 1.2 distinct 1.3 where 1.4 and 和 or 1.5 in 1.6 between 1.7 通配符 1.8 like 1.9 order by 一、高级SQL语句&#xff08;进阶查询&#xff09; 先准备2个表 一个location表&#xff1a; use m…

私人记账本程序cashbook

什么是 cashbook &#xff1f; cashbook 是一个私人或家庭记账程序&#xff0c;支持私有化部署&#xff0c;商用或其他使用不受约束。建议使用者每年创建一个账本&#xff0c;图表功能可以起到分析全年数据的效果。 官方提供了演示站点&#xff0c;但不建议记录真实数据 演示账…

ardupilot 遥控的输入控制模式

目录 本节主要记录自己整理ardupilot的遥控器的输入控制模式:正常模式、简单模式、超简单模式的理解。 1.正常模式(有头模式) 在不用简单和超简单的模式的情况下,无人机操作员操作的控制输入是对应着不断旋转着的飞行器进行操作的。如上方图所示举例,当无人机操作员进行…

flask中的werkzeug介绍

flask中的werkzeug Werkzeug是一个Python库&#xff0c;用于开发Web应用程序。它是一个WSGI&#xff08;Web Server Gateway Interface&#xff09;工具包&#xff0c;提供了一系列实用功能来帮助开发者处理HTTP请求、响应、URLs等等。Werkzeug的设计非常灵活&#xff0c;可以…

基础入门-SpringBoot-自动配置特性

一、自动配好Tomcat 引入Tomcat依赖。配置Tomcat <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><version>2.3.4.RELEASE</version><scope>compile</sco…

同城跑腿小程序怎么做

同城跑腿小程序是一款基于地理位置的服务平台&#xff0c;为用户提供了便捷的日常生活服务。以下是该小程序的主要功能介绍&#xff1a; 1. 快速下单&#xff1a;用户可以通过小程序平台快速填写订单信息&#xff0c;包括取送地址、物品类型和重量等信息&#xff0c;然后选择合…

LabVIEW开发环境试验箱控制器

LabVIEW开发环境试验箱控制器 环境或气候试验箱是一种外壳&#xff0c;用于模拟各种材料&#xff08;包括工业产品、生物物质、复合材料、电子设备和航空航天部件&#xff09;的特定环境条件&#xff0c;并评估调节对这些材料的影响。 环境试验箱&#xff08;ETC&#xff09;…

存储过程——游标

1.游标 什么是游标&#xff0c;以及游标使用的相关语法。 #声明游标&#xff0c;存储查询结果集 #准备&#xff1a;创建表结构 #开启游标 #获取游标中的记录 #插入数据到新表中 #关闭游标 create procedure p11(in uage int) begindeclare uname varchar(100);declare upro …

Istio 故障注入与重试的实验

故障注入 Istio流量治理有故障注入的功能&#xff0c;在接收到用户请求程序的流量时&#xff0c;注入故障现象&#xff0c;例如注入HTTP请求错误&#xff0c;当有流量进入Sidecar时&#xff0c;直接返回一个500的错误请求代码。 通过故障注入可以用来测试整个应用程序的故障恢…

DYLD--动态链接器

概念 dyld&#xff08;the dynamic link editor&#xff09;是苹果的动态链接器&#xff0c;是苹果操作系统一个重要组成部分&#xff0c;在系统内核 XNU 完成 Mach-O 文件的加载&#xff0c;做好程序准备工作之后&#xff0c;交由 dyld 负责余下的工作。在 macOS 系统中&…

vue2引入lottie动画

说明下&#xff1a;如果你是vue3的话请移步&#xff1a;https://blog.csdn.net/qq_67801847/article/details/128386661&#xff0c;这里只针对vue2. 同时动画官网链接&#xff1a;lottie官网 实现思路&#xff1a; 1. 安装lottie-web (版本无所谓) 2. 在使用的页面引入组件 #…

一起来看看音频转文字怎么弄吧

从前有一个名叫小明的学生&#xff0c;他在学校里总是很喜欢录制各种有趣的音频&#xff0c;包括老师的讲课、同学们的笑声&#xff0c;以及校园里的各种声音。有一天&#xff0c;他在课堂上录下了老师的授课内容&#xff0c;想着晚上回家后再将它们转换成文字&#xff0c;便于…

网络安全(黑客)学习手册

1.什么是网络安全&#xff1f; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一是市场需求量高&#xff1b; 二则是发展…

Python+大数据开发拿到25k的offer!

随着95后、00后的登场&#xff0c;80后好似成为“古早”的存在&#xff0c;看似被生活磨平了棱角的他们&#xff0c;其实也在渴望重新“支棱”起来。今天分享的这位80后的逆袭故事&#xff0c;希望你能感受到他的力量…… 学科 | Python大数据开发 校区 | 北京 薪资 | 25k 我…

【深度学习之YOLO8】视频流推断

官方V8模型下载 需要准备两个东西 simsun.ttc字体包YOLOv8官方模型成品 ScreenCapture屏幕图像类 import cv2 import mss import numpy as npclass ScreenCapture:"""parameters----------screen_resolution : Tuple[int, int]屏幕宽高&#xff0c;分别为x&a…

5.2.11.添加读写接口

5.2.11.添加读写接口 5.2.11.1、在驱动中添加 5.2.11.2、在应用中添加 5.2.11.3、测试 1. app.c #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>#define FILE "/dev/test" // 刚才mknod创建的设…

K8S中网络如何通信

Kubernetes 提出了一个自己的网络模型“IP-per-pod”&#xff0c;能够很好地适应集群系统的网络需求&#xff0c;它有下面的这 4 点基本假设&#xff1a; 集群里的每个 Pod 都会有唯一的一个 IP 地址。Pod 里的所有容器共享这个 IP 地址。集群里的所有 Pod 都属于同一个网段。…

WT588F02B-8S 血压计语音芯片如何选型?低功耗语音ic方案

一、血压计语音提示方案需求设计&#xff1f; 血压计语音提示方案的需求设计是为了实现在测量血压过程中&#xff0c;通过语音提示用户操作指引、测量结果和健康建议等功能。以下是血压计语音提示方案需求设计的主要需求&#xff1a; &#xff08;1&#xff09;测量操作引导 …

QT---day1(QT的介绍、常用类及组件)

代码&#xff1a; #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//设置窗口尺寸this->setFixedSize(600,500);//设置窗口标题this->setWindowTitle(&q…

【MySQL】库和表的操作

目录 一、库的操作 1.1创建数据库 1.2创建数据库案例 1.3字符集和校验规则 &#xff08;1&#xff09;查看系统默认字符集以及校验规则 &#xff08;2&#xff09;查看数据库支持的字符集 &#xff08;3&#xff09;查看数据库支持的字符集校验规则 &#xff08;4&…