Files
overlord/Overlord-Server/public/assets/ripple.js
T
2026-03-05 00:04:26 -06:00

33 lines
786 B
JavaScript

function addRippleEffect(element) {
element.classList.add("ripple");
element.addEventListener("click", function (e) {
this.classList.remove("ripple-active");
const rect = this.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;
this.style.setProperty("--x", x + "px");
this.style.setProperty("--y", y + "px");
void this.offsetWidth;
this.classList.add("ripple-active");
setTimeout(() => {
this.classList.remove("ripple-active");
}, 600);
});
}
document.addEventListener("DOMContentLoaded", () => {
document
.querySelectorAll("button:not(.no-ripple), .button:not(.no-ripple)")
.forEach((btn) => {
addRippleEffect(btn);
});
});
window.addRippleEffect = addRippleEffect;