介绍
driver.js是一个网页端的用户操作分步引导操作,可以在整个页面上引导用户操作,用这种方式来引导用户在进入页面后的操作,以便于用户更快的熟悉系统功能!
Github
https://github.com/kamranahmedse/driver.js
特性
driver.js与所有主要浏览器兼容,可以用于任何覆盖需要。功能介绍、焦点转移、行动要求只是几个例子。
- 突出显示页面上的任何任何项目
- 锁定用户交互
- 创建功能介绍
- 为用户添加聚焦器
- 高度可定制 – 可在任何地方使用,可覆盖
- 界面友好 – 可通过按键控制
- 轻量级 – gzip 压缩后只有约4kb
- 在所有主流浏览器中保持一致的行为
- 免费用于个人和商业用途
在最简单的情况下,它将画布放在整个页面的顶部,然后剪切要高亮显示的元素上的部分,并在高亮显示、高亮显示或取消高亮显示元素时为您提供多个挂钩,使其高度可定制。
安装使用
yarn add driver.js npm install driver.js
引入
<link rel="stylesheet" href="/dist/driver.min.css"> <script src="/dist/driver.min.js"></script>
es6
import Driver from 'driver.js';
import 'driver.js/dist/driver.min.css';
- 突出显示单个元素
const driver = new Driver(); driver.highlight('#create-post');
- Popover和突出显示
可以使用popover在高亮显示的元素旁边显示其他详细信息。
const driver = new Driver(); driver.highlight({ element: '#some-element', popover: { title: 'Title for the Popover', description: 'Description for it', } });
- 定位Popover
默认情况下,会自动为popover找到合适的位置并显示它。可以使用“position”属性覆盖它。
const driver = new Driver(); driver.highlight({ element: '#some-element', popover: { title: 'Title for the Popover', description: 'Description for it', position: 'left', //还可以使用offset offset: 20, } });
- 最基本的完整创建功能介绍
const driver = new Driver(); // 定义介绍步骤 driver.defineSteps([ { element: '#first-element-introduction', popover: { className: 'first-step-popover-class', title: 'Title on Popover', description: 'Body of the popover', position: 'left' } }, { element: '#second-element-introduction', popover: { title: 'Title on Popover', description: 'Body of the popover', position: 'top' } }, { element: '#third-element-introduction', popover: { title: 'Title on Popover', description: 'Body of the popover', position: 'right' } }, ]); // 开始介绍 driver.start();
等等后续可访问官方的demo
API
- driver.js定义
const driver = new Driver({ className: 'scoped-class', animate: true, opacity: 0.75, padding: 10, allowClose: true, overlayClickNext: false, doneBtnText: 'Done', closeBtnText: 'Close', stageBackground: '#ffffff', nextBtnText: 'Next', prevBtnText: 'Previous', showButtons: false, keyboardControl: true, scrollIntoViewOptions: {}, onHighlightStarted: (Element) => {}, onHighlighted: (Element) => {}, onDeselected: (Element) => {}, onReset: (Element) => {}, onNext: (Element) => {}, onPrevious: (Element) => {}, });
- 步骤定义
const stepDefinition = { element: '#some-item', stageBackground: '#ffffff', popover: { className: 'popover-class', title: 'Title', description: 'Description', showButtons: false, doneBtnText: 'Done', closeBtnText: 'Close', nextBtnText: 'Next', prevBtnText: 'Previous', }, onNext: () => {}, onPrevious: () => {}, }; const driver = new Driver(driverOptions); driver.defineSteps([ stepDefinition1, stepDefinition2, stepDefinition3, stepDefinition4, ]);
总结
driver.js是一个非常值得使用的插件,对于一个系统,对于一个新用户而言,有一个简单的步骤引导可以更加快速的熟悉接下来的操作功能!