mirror of
https://gitlab.com/lecarore/breakout71.git
synced 2025-06-15 18:54:47 -04:00
Build 29058459
This commit is contained in:
parent
b19cc5c0b4
commit
de99dd9ba8
17 changed files with 160 additions and 147 deletions
|
@ -1,39 +1,49 @@
|
|||
import {isOptionOn} from "./options";
|
||||
import { isOptionOn } from "./options";
|
||||
|
||||
export function setupTooltips() {
|
||||
const tooltip = document.getElementById('tooltip') as HTMLDivElement
|
||||
if (isOptionOn('mobile-mode')) {
|
||||
tooltip.style.display = 'none';
|
||||
return
|
||||
}
|
||||
const tooltip = document.getElementById("tooltip") as HTMLDivElement;
|
||||
if (isOptionOn("mobile-mode")) {
|
||||
tooltip.style.display = "none";
|
||||
return;
|
||||
}
|
||||
|
||||
function updateTooltipPosition(e:MouseEvent){
|
||||
tooltip.style.transform=`translate(${e.clientX}px,${e.clientY + 20}px) `+(e.clientX > window.innerWidth / 2 ? ' translate(-100%,0)':'')
|
||||
}
|
||||
|
||||
document.body.addEventListener('mouseenter', (e:MouseEvent) => {
|
||||
let parent: HTMLElement | null = e.target as HTMLElement
|
||||
while (parent && !parent.hasAttribute('data-tooltip')) {
|
||||
parent = parent.parentElement
|
||||
}
|
||||
if (parent?.hasAttribute('data-tooltip')) {
|
||||
tooltip.innerHTML = parent?.getAttribute('data-tooltip')
|
||||
tooltip.style.display = '';
|
||||
updateTooltipPosition(e)
|
||||
}else{
|
||||
|
||||
tooltip.style.display = 'none';
|
||||
}
|
||||
}, true)
|
||||
document.body.addEventListener('mousemove', e => {
|
||||
if (!tooltip.style.display) {
|
||||
updateTooltipPosition(e)
|
||||
}
|
||||
}, true)
|
||||
document.body.addEventListener('mouseleave', e => {
|
||||
// tooltip.style.display = 'none';
|
||||
}, true)
|
||||
function updateTooltipPosition(e: MouseEvent) {
|
||||
tooltip.style.transform =
|
||||
`translate(${e.clientX}px,${e.clientY + 20}px) ` +
|
||||
(e.clientX > window.innerWidth / 2 ? " translate(-100%,0)" : "");
|
||||
}
|
||||
|
||||
document.body.addEventListener(
|
||||
"mouseenter",
|
||||
(e: MouseEvent) => {
|
||||
let parent: HTMLElement | null = e.target as HTMLElement;
|
||||
while (parent && !parent.hasAttribute("data-tooltip")) {
|
||||
parent = parent.parentElement;
|
||||
}
|
||||
if (parent?.hasAttribute("data-tooltip")) {
|
||||
tooltip.innerHTML = parent?.getAttribute("data-tooltip");
|
||||
tooltip.style.display = "";
|
||||
updateTooltipPosition(e);
|
||||
} else {
|
||||
tooltip.style.display = "none";
|
||||
}
|
||||
},
|
||||
true,
|
||||
);
|
||||
document.body.addEventListener(
|
||||
"mousemove",
|
||||
(e) => {
|
||||
if (!tooltip.style.display) {
|
||||
updateTooltipPosition(e);
|
||||
}
|
||||
},
|
||||
true,
|
||||
);
|
||||
document.body.addEventListener(
|
||||
"mouseleave",
|
||||
(e) => {
|
||||
// tooltip.style.display = 'none';
|
||||
},
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue