Spaces:
Running
Running
Create script.js
Browse files
script.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// mouse-based 3D tilt for glass cards
|
| 2 |
+
document.querySelectorAll(".glass-3d").forEach(card=>{
|
| 3 |
+
card.addEventListener("mousemove",e=>{
|
| 4 |
+
const r = card.getBoundingClientRect();
|
| 5 |
+
const x = e.clientX - r.left;
|
| 6 |
+
const y = e.clientY - r.top;
|
| 7 |
+
const rx = -(y - r.height/2) / 20;
|
| 8 |
+
const ry = (x - r.width/2) / 20;
|
| 9 |
+
card.style.transform =
|
| 10 |
+
`translateY(-8px) rotateX(${rx}deg) rotateY(${ry}deg)`;
|
| 11 |
+
});
|
| 12 |
+
card.addEventListener("mouseleave",()=>{
|
| 13 |
+
card.style.transform="";
|
| 14 |
+
});
|
| 15 |
+
});
|
| 16 |
+
|
| 17 |
+
// bubble click pop
|
| 18 |
+
document.querySelectorAll(".bubble").forEach(b=>{
|
| 19 |
+
b.addEventListener("click",()=>{
|
| 20 |
+
b.style.transform="scale(1.25)";
|
| 21 |
+
setTimeout(()=>b.style.transform="",300);
|
| 22 |
+
});
|
| 23 |
+
});
|