-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmoving-cards.js
21 lines (19 loc) · 890 Bytes
/
moving-cards.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const maxDeg = 5;
elements = document.getElementsByClassName("card-img");
for (const element of elements) {
element.addEventListener("mousemove", (event) => {
let y = event.offsetY - element.offsetHeight/2;
let x = event.offsetX - element.offsetWidth/2;
let degX = -(y * maxDeg) / (element.offsetHeight/2);
let degY = (x * maxDeg) / (element.offsetWidth/2);
element.style.transform = "perspective(100em) rotateX(" + degX + "deg) rotateY(" + degY + "deg)";
});
element.addEventListener("mouseout", (event) => {
var an = element.animate({ transform: "perspective(100em) rotateX(0deg) rotateY(0deg)" },
200, "ease-in", function() {console.log("ended");}
)
an.onfinish = function(event) {
element.style.transform = "perspective(100em) rotateX(0deg) rotateY(0deg)";
}
});
}