Driver.js

2024-07-16 11:39:07 207
Driver.js 是一个轻量级的现代 JavaScript 库,旨在通过高亮和聚焦感兴趣的元素,引导用户逐步了解你的应用程序。它高度可定制且易于使用,是创建交互式网站导览的热门选择。

特色

  1. 高亮元素: 通过高亮特定元素引导用户。
  2. 可定制弹出框: 自定义每个步骤的弹出框外观和内容。
  3. 键盘导航: 支持使用键盘导航步骤。
  4. 灵活 API: 提供全面的 API 控制和定制导览。
  5. 跨浏览器兼容: 兼容现代浏览器。
  6. 无依赖: 轻量且不依赖其他库。

安装方式

  • 通过 npm 安装:

    npm install driver.js
    
  • 通过 CDN 引入:

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

基本使用

  1. 引入并初始化 Driver.js:

    import Driver from 'driver.js'; // 如果使用 ES6 模块
    
    const driver = new Driver();
    
  2. 定义步骤:

    const steps = [
      {
        element: '#element-id',
        popover: {
          title: '步骤标题',
          description: '步骤描述',
          position: 'bottom' // 可以是 top, left, right, bottom
        }
      },
      {
        element: '.element-class',
        popover: {
          title: '另一个步骤',
          description: '另一个描述',
          position: 'right'
        }
      }
    ];
    
    driver.defineSteps(steps);
    
  3. 启动导览:

    driver.start();
    

高级用法

  1. 事件监听器:

    driver.on('next', (element) => {
      console.log('下一步按钮点击', element);
    });
    
    driver.on('previous', (element) => {
      console.log('上一步按钮点击', element);
    });
    
    driver.on('reset', () => {
      console.log('导览重置');
    });
    
    driver.on('destroy', () => {
      console.log('导览销毁');
    });
    
  2. 程序化控制导览:

    // 跳转到特定步骤
    driver.moveNext(); // 移动到下一步
    driver.movePrevious(); // 移动到上一步
    
    // 高亮特定元素
    driver.highlight({
      element: '#specific-element',
      popover: {
        title: '特定步骤',
        description: '该特定步骤的描述',
        position: 'left'
      }
    });
    
  3. 自定义样式: 通过 CSS 自定义弹出框的外观:

    .driver-popover-title {
      color: #3498db;
    }
    
    .driver-popover-description {
      font-size: 16px;
    }
    

API 介绍

API参数类型描述
driver.defineStepsstepsArray定义导览步骤
driver.start启动导览
driver.reset重置导览到初始状态
driver.moveNext移动到下一步
driver.movePrevious移动到上一步
driver.highlightoptionsObject使用选项高亮特定元素
driver.onevent, cbString, Function为特定事件附加事件监听器
driver.hasNextStepBoolean检查是否有下一步
driver.hasPreviousStepBoolean检查是否有上一步
driver.isHighlightedelementBoolean检查特定元素是否当前被高亮
driver.getCurrentStepObject获取当前步骤
driver.destroy销毁导览并清理

官方资料