-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
98 lines (82 loc) · 2.46 KB
/
script.js
File metadata and controls
98 lines (82 loc) · 2.46 KB
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),
});
});
});