You can use the showButtons
option to choose which buttons to show in the popover. The default value is ['next', 'previous', 'close']
.
Note: When using the
highlight
method to highlight a single element, the only button shown is theclose
button. However, you can use theshowButtons
option to show other buttons as well. But the buttons won’t do anything. You will have to use theonNextClick
andonPreviousClick
callbacks to implement the functionality.
import { driver } from "driver.js";
import "driver.js/dist/driver.css";
const driverObj = driver({
showButtons: [
'next',
'previous',
'close'
],
steps: [
{
element: '#first-element',
popover: {
title: 'Popover Title',
description: 'Popover Description'
}
},
{
element: '#second-element',
popover: {
title: 'Popover Title',
description: 'Popover Description'
}
}
]
});
driverObj.drive();
You can also change the text of buttons using nextBtnText
, prevBtnText
and doneBtnText
options.
Change Button Text
import { driver } from "driver.js";
import "driver.js/dist/driver.css";
const driverObj = driver({
nextBtnText: '—›',
prevBtnText: '‹—',
doneBtnText: '✕',
showProgress: true,
steps: [
// ...
]
});
driverObj.drive();
You can use the onNextClick
, onPreviousClick
and onCloseClick
callbacks to implement custom functionality when the user clicks on the next and previous buttons.
Please note that when you configure these callbacks, the default functionality of the buttons will be disabled. You will have to implement the functionality yourself.
import { driver } from "driver.js";
import "driver.js/dist/driver.css";
const driverObj = driver({
onNextClick:() => {
console.log('Next Button Clicked');
// Implement your own functionality here
driverObj.moveNext();
},
onPrevClick:() => {
console.log('Previous Button Clicked');
// Implement your own functionality here
driverObj.movePrevious();
},
onCloseClick:() => {
console.log('Close Button Clicked');
// Implement your own functionality here
driverObj.destroy();
},
steps: [
// ...
]
});
driverObj.drive();
You can add custom buttons using onPopoverRender
callback. This callback is called before the popover is rendered. In the following example, we are adding a custom button that takes the user to the first step.
import { driver } from "driver.js";
import "driver.js/dist/driver.css";
const driverObj = driver({
// Get full control over the popover rendering.
// Here we are adding a custom button that takes
// user to the first step.
onPopoverRender: (popover, { config, state }) => {
const firstButton = document.createElement("button");
firstButton.innerText = "Go to First";
popover.footerButtons.appendChild(firstButton);
firstButton.addEventListener("click", () => {
driverObj.drive(0);
});
},
steps: [
// ..
]
});
driverObj.drive();