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

driver.js实现页面操作指引

概述

在访问某些网站的时候,第一次进去你会发现有个操作指引,本文引用driver.js,教你在你的页面也加入这般高大上的操作指引。

实现效果

操作指引

高亮区域

实现

driver.js简介

driver.js是一个功能强大且高度可定制的基于原生JavaScript开发的新用户引导库。它没有依赖项,支持所有主要浏览器。

  • 官网地址:https://kamranahmed.info/driver.js
  • 配置项: https://driverjs.com/docs/configuration
  • API:https://driverjs.com/docs/api

安装

可通过NPM的方式引入。

npm i driver.js
// 或者
yarn add driver.js

或者CDN的方式引入

<script src="https://unpkg.com/driver.js/dist/driver.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/driver.js/dist/driver.min.css">

特性

  • **简单:**简单易用,完全没有外部依赖

  • 高度可定制:有一个强大的api,可以用于你希望突出显示任何内容

  • 高亮显示:页面功能介绍上的任意元素(字面上的任意)

  • 功能介绍:为你的web应用程序创建强大的功能介绍

  • 焦点移位器:为用户友好添加焦点移位器

  • 用户友好:通过键盘行为控制一切

  • 一致行为:所有浏览器(包括著名的IE)都可以使用

  • MIT声明:免费用于个人和商业用途。

实现

高亮

const driverObj = driver({
  popoverClass: "my-custom-popover-class",
});
driverObj.highlight({
  element: ".form-start-position",
  popover: {
    title: "起点",
    description: "<p>输入起点关键词,选择正确的起点</p>",
  },
});

操作指引

const tipsKey = `page-tips`;
if (localStorage.getItem(tipsKey)) return;
const stepsData = [
  {
    element: ".form-start-position",
    popover: {
      title: "起点",
      description: "<p>输入起点关键词,选择正确的起点</p>",
      side: "bottom",
      align: "center",
    },
  },
  {
    element: ".form-end-position",
    popover: {
      title: "终点",
      description: "<p>输入终点关键词,选择正确的终点</p>",
      side: "bottom",
      align: "center",
    },
  },
  {
    element: ".query-button",
    popover: {
      title: "查询",
      description: "<p>点击查询按钮,开始查询规划路径并在地图上展示</p>",
      side: "bottom",
      align: "center",
    },
  },
  {
    element: ".map-button",
    popover: {
      title: "地图",
      description: "<p>展示地图和路径规划</p>",
      side: "bottom",
      align: "center",
    },
  },
];
const driverObj = driver({
  popoverClass: "my-custom-popover-class",
  overlayColor: "#000000",
  overlayOpacity: 0.5,
  prevBtnText: "上一提示",
  nextBtnText: "下一提示",
  doneBtnText: "知道了",
  closeBtnText: "关闭",
  showProgress: true,
  progressText: "{{current}}/{{total}}",
  allowClose: true,
  stageRadius: 4,
  stagePadding: 10,
  popoverOffset: 10,
  onDestroyed: (ele) => {
    localStorage.setItem(tipsKey, "true");
  },
  steps: stepsData,
});
driverObj.drive();

自定义样式

.my-custom-popover-class {
  background-color: rgba(1, 122, 242, 0.8);
  color: #fff;

  .driver-popover-arrow-side-top {
    border-top-color: rgba(1, 122, 242, 0.8);
  }
  .driver-popover-arrow-side-bottom {
    border-bottom-color: rgba(1, 122, 242, 0.8);
  }
  .driver-popover-arrow-side-left {
    border-left-color: rgba(1, 122, 242, 0.8);
  }
  .driver-popover-arrow-side-right {
    border-right-color: rgba(1, 122, 242, 0.8);
  }

  .driver-popover-progress-text,
  .driver-popover-close-btn {
    color: #fff;
  }

  .driver-popover-prev-btn,
  .driver-popover-next-btn {
    border: 1px solid #fff;
    color: rgba(1, 122, 242, 1);
  }
}

http://www.kler.cn/a/401536.html

相关文章:

  • 鲸鱼机器人和乐高机器人的比较
  • Java 反射机制详解
  • opencascade源码学习之HLRAlgo包 -HLRAlgo_Projector
  • HCIP --OSI七层参考模型回顾、TCP/UDP协议复习
  • Nginx Spring boot指定域名跨域设置
  • 道陟科技EMB产品开发进展与标准设计的建议|2024电动汽车智能底盘大会
  • Linux-Samba
  • Axios交互
  • 疫情下的图书馆管理系统开发:Spring Boot
  • MATLAB调用Python自定义函数,极度方便好用
  • Bokeh实现大规模数据可视化的最佳实践
  • 单片机的基本组成与工作原理
  • Python自学之Colormaps指南
  • Spring学习笔记_41——@RequestBody
  • UniApp的Vue3版本中H5配置代理的最佳方法
  • 网络协议之FTP
  • Kafka进阶_1.生产消息
  • 从0开始学习Linux教程目录
  • Linux系统性能调优技巧与实践案例
  • Qt的一个基本用户登录界面编写|| 从0搭建QT的信号与槽的应用案例 ||Qt样式表的应用
  • 小车综合玩法--5.画地为牢
  • 机器学习笔记 // 探索整体的预测
  • Spark使用过程中的 15 个常见问题、详细解决方案
  • 15分钟学 Go 第 58 天 :复习与总结
  • 解决 VMware 嵌套虚拟化提示 关闭“侧通道缓解“
  • 人工智能时代,如何建设一个大模型呼叫中心?