通过 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>
引入并初始化 Driver.js:
import Driver from 'driver.js'; // 如果使用 ES6 模块
const driver = new Driver();
定义步骤:
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);
启动导览:
driver.start();
事件监听器:
driver.on('next', (element) => {
console.log('下一步按钮点击', element);
});
driver.on('previous', (element) => {
console.log('上一步按钮点击', element);
});
driver.on('reset', () => {
console.log('导览重置');
});
driver.on('destroy', () => {
console.log('导览销毁');
});
程序化控制导览:
// 跳转到特定步骤
driver.moveNext(); // 移动到下一步
driver.movePrevious(); // 移动到上一步
// 高亮特定元素
driver.highlight({
element: '#specific-element',
popover: {
title: '特定步骤',
description: '该特定步骤的描述',
position: 'left'
}
});
自定义样式: 通过 CSS 自定义弹出框的外观:
.driver-popover-title {
color: #3498db;
}
.driver-popover-description {
font-size: 16px;
}
API | 参数 | 类型 | 描述 |
---|---|---|---|
driver.defineSteps | steps | Array | 定义导览步骤 |
driver.start | 无 | 无 | 启动导览 |
driver.reset | 无 | 无 | 重置导览到初始状态 |
driver.moveNext | 无 | 无 | 移动到下一步 |
driver.movePrevious | 无 | 无 | 移动到上一步 |
driver.highlight | options | Object | 使用选项高亮特定元素 |
driver.on | event, cb | String, Function | 为特定事件附加事件监听器 |
driver.hasNextStep | 无 | Boolean | 检查是否有下一步 |
driver.hasPreviousStep | 无 | Boolean | 检查是否有上一步 |
driver.isHighlighted | element | Boolean | 检查特定元素是否当前被高亮 |
driver.getCurrentStep | 无 | Object | 获取当前步骤 |
driver.destroy | 无 | 无 | 销毁导览并清理 |