21K star!想做精美的用户引导效果,只需要4kb的开源项目

2,821 阅读3分钟

在第一次使用系统的时候,往往都会有一个新手指引,来帮助用户快速了解平台的使用。

今天我们分享的开源项目,可以帮助你快速开发互动式的用户引导,在GitHub超过20K Star的开源项目:driver.js。

driver.js 是什么

Driver.js 是一个轻量级的 JavaScript 库,用于在网页上创建互动式的用户指南和引导。通过高亮显示特定元素并提供详细说明,Driver.js 可以帮助用户熟悉网页的功能和使用方法。通过它可以有效提升用户友好性,特别适合引导新用户或展示新功能。

Driver.js 是一个轻量级的javascript库,经过gzip压缩体积只有4kb,无需依赖任何外部资源,支持所有主流浏览器,高度可定制。主要功能包括:

  1. 高亮显示:高亮显示网页上的特定元素,吸引用户注意。
  2. 多步骤引导:支持创建多个步骤的引导,每一步都可以高亮不同的元素并提供相应的说明。
  3. 弹出提示:在高亮元素旁边显示弹出提示,提供详细说明或操作提示。
  4. 用户交互:允许用户通过点击“下一步”或“上一步”按钮来导航引导步骤。
  5. 自定义样式:可以自定义高亮元素和提示框的样式,满足不同的设计需求。
  6. 灵活配置:提供丰富的配置选项,可以设置步骤的顺序、提示的位置、自动滚动等。

安装driver.js

driver.js是一个纯前端的工具,可以通过以下任一方式来安装:

# Using npm
npm install driver.js
# Using pnpm
pnpm install driver.js
# Using yarn
yarn add driver.js

或者,可以使用 CDN 并将脚本包含在您的 HTML 文件中:

<script src="<https://cdn.jsdelivr.net/npm/driver.js@1.0.1/dist/driver.js.iife.js>"></script>
<link rel="stylesheet" href="<https://cdn.jsdelivr.net/npm/driver.js@1.0.1/dist/driver.css>"/>

快速上手

安装后,您可以导入并开始使用该库。以下是一个如何创建多步骤引导的简单示例。

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

const driverObj = driver({
  showProgress: true,
  steps: [
    { element: '.page-header', popover: { title: 'Title', description: 'Description' } },
    { element: '.top-nav', popover: { title: 'Title', description: 'Description' } },
    { element: '.sidebar', popover: { title: 'Title', description: 'Description' } },
    { element: '.footer', popover: { title: 'Title', description: 'Description' } },
  ]
});

driverObj.drive();

这里我们来看一下实现后的效果。

你还可以配置引导过程的动画效果、提示窗口的CSS 样式、引导过程的显示锚点等内容。以下是一些可用的配置项:

 animate: 是否启用动画效果(默认 true)。

 opacity: 背景遮罩的透明度(默认 0.75)。

 padding: 高亮元素周围的填充空间(默认 10)。

 allowClose: 是否允许用户通过点击背景关闭引导(默认 true)。

 overlayClickNext: 点击背景是否跳到下一步(默认 false)。

在文档中都有相应的示例教程,可以帮助你快速上手使用。

使用场景

  1. 新用户引导:帮助新用户快速了解网站或应用的主要功能和操作方法。
  2. 功能介绍:在网站或应用中引入新功能时,通过步骤引导用户使用新功能。
  3. 任务指导:引导用户完成特定任务,逐步展示各个步骤的操作方法。
  4. 产品演示:在产品演示或教学视频中,使用 Driver.js 高亮关键功能和操作步骤。

总结

编程领域的名言就是不要重复造轮子,driver.js就是一个非常好用的轮子,它可以让你快速构建出让户快速了解和使用网页或应用的功能,只需要简单的引用和配置,就大幅的降低了开发者的工作量,如果你还有类似的困惑,那可以去尝试一下。

项目信息