driver.js / index.html
kamrify's picture
Add option to configure opacity
e3d3deb
raw
history blame
4.07 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite App</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
font-size: 14px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
max-width: 1200px;
margin: 0 auto;
}
h1 {
margin: 40px 0 10px;
font-size: 48px;
font-weight: 600;
text-align: center;
}
h1 sup {
font-size: 18px;
font-weight: 400;
}
ul {
list-style: none;
padding: 0;
margin: 20px 10px 0;
line-height: 1.5;
}
ul li:before {
content: "•";
margin-right: 10px;
}
.buttons {
display: flex;
margin-top: 20px;
gap: 10px;
max-width: 500px;
flex-wrap: wrap;
}
button {
all: unset;
border: 1px solid #ccc;
padding: 5px 15px;
border-radius: 5px;
display: block;
cursor: pointer;
}
</style>
</head>
<body>
<div class="container">
<h1>driver.js <sup>next</sup></h1>
<p>Rewritten and enhanced version of driver.js</p>
<div class="buttons">
<button id="highlight-btn">Animated Highlight</button>
<button id="simple-highlight-btn">Simple Highlight</button>
<button id="transition-highlight-btn">Multiple Highlight Calls</button>
<button id="disallow-close">Disallow Close</button>
<button id="dark-highlight-btn">Super Dark Highlight</button>
<button id="dim-highlight-btn">Super Dim Highlight</button>
<button id="tour-btn">Start Tour</button>
<button id="destroy-btn">Destroy</button>
</div>
<ul>
<li>Written in TypeScript</li>
<li>Lightweight — only 5kb gzipped</li>
<li>No dependencies</li>
<li>MIT Licensed</li>
</ul>
</div>
<script type="module">
import { driver } from "./src/driver.ts";
document.getElementById("highlight-btn").addEventListener("click", () => {
driver({ animate: true }).highlight({ element: "h1" });
});
document
.getElementById("simple-highlight-btn")
.addEventListener("click", () => {
driver({ animate: false }).highlight({ element: "ul" });
});
document
.getElementById("dark-highlight-btn")
.addEventListener("click", () => {
driver({
animate: true,
opacity: 0.9,
}).highlight({ element: "ul" });
});
document
.getElementById("dim-highlight-btn")
.addEventListener("click", () => {
driver({
animate: true,
opacity: 0.2,
}).highlight({ element: ".buttons" });
});
document
.getElementById("transition-highlight-btn")
.addEventListener("click", () => {
const driverObj = driver({ animate: true });
driverObj.highlight({ element: "h1" });
window.setTimeout(() => {
driverObj.highlight({ element: ".buttons" });
}, 1000);
});
document
.getElementById("disallow-close")
.addEventListener("click", () => {
const driverObj = driver({
animate: true,
allowClose: false,
});
driverObj.highlight({
element: ".buttons",
});
});
document.getElementById("destroy-btn").addEventListener("click", () => {
driver().destroy();
});
</script>
</body>
</html>