-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
98 lines (82 loc) · 2.46 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
var timeout;
const scroll = new LocomotiveScroll({
el: document.querySelector("#main"),
smooth: true,
});
function firstPageAnim() {
var tl = gsap.timeline();
tl.from("#nav", {
y: "-10",
opacity: 0,
duration: 1.5,
ease: Expo.easeInOut,
})
.to(".boundingelem", {
y: 0,
ease: Expo.easeInOut,
duration: 2,
delay: -1,
stagger: 0.2,
})
.from("#herofooter", {
y: -10,
opacity: 0,
duration: 1.5,
delay: -1,
ease: Expo.easeInOut,
});
}
function circleChaptaKaro() {
// define default scale value
var xscale = 1;
var yscale = 1;
var xprev = 0;
var yprev = 0;
window.addEventListener("mousemove", function (dets) {
clearTimeout(timeout);
xscale = gsap.utils.clamp(0.8, 1.2, dets.clientX - xprev);
yscale = gsap.utils.clamp(0.8, 1.2, dets.clientY - yprev);
xprev = dets.clientX;
yprev = dets.clientY;
circleMouseFollower(xscale, yscale);
timeout = setTimeout(function () {
document.querySelector(
"#minicircle"
).style.transform = `translate(${dets.clientX}px, ${dets.clientY}px) scale(1, 1)`;
}, 100);
});
}
function circleMouseFollower(xscale, yscale) {
window.addEventListener("mousemove", function (dets) {
document.querySelector(
"#minicircle"
).style.transform = `translate(${dets.clientX}px, ${dets.clientY}px) scale(${xscale}, ${yscale})`;
});
}
circleChaptaKaro();
circleMouseFollower();
// firstPageAnim();
// teeno element ko sleect karo, uske baad teeno par ek mousemove lagao, jab mousemove ho to ye pata karo ki mouse kaha par hai, jiska matlab hai mouse ki x and y position pata karo, ab mouse ki x y position ke badle us image ko show karo and us image ko move karo, move karte waqt rotate karo, and jaise jaise mouse tez chale waise waise rotation bhi tez ho jaye
document.querySelectorAll(".elem").forEach(function (elem) {
var rotate = 0;
var diffrot = 0;
elem.addEventListener("mouseleave", function (dets) {
gsap.to(elem.querySelector("img"), {
opacity: 0,
ease: Power3,
duration: 0.5,
});
});
elem.addEventListener("mousemove", function (dets) {
var diff = dets.clientY - elem.getBoundingClientRect().top;
diffrot = dets.clientX - rotate;
rotate = dets.clientX;
gsap.to(elem.querySelector("img"), {
opacity: 1,
ease: Power3,
top: diff,
left: dets.clientX,
rotate: gsap.utils.clamp(-20, 20, diffrot * 0.5),
});
});
});