-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
144 lines (126 loc) · 2.48 KB
/
app.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
gsap.registerPlugin(ScrollTrigger);
const tl1 = gsap.timeline({
scrollTrigger: {
trigger: ".about",
start: "0% 95%",
end: "70% 50%",
scrub: true,
// markers: true,
},
});
tl1.to(
".hero-body img",
{
top: "130%",
left: "70%",
transform: "rotate(-25deg)",
},
"animation-1"
);
const tl2 = gsap.timeline({
scrollTrigger: {
trigger: ".services",
start: "0 95%",
end: "20% 50%",
scrub: true,
// markers: true,
},
});
tl2.to(
".hero-body img",
{
top: "200%",
transform: "rotate(0deg)",
left: "35%",
right: "33%",
height: "984px",
width: "436px",
},
"animation-2"
);
const tl3 = gsap.timeline({
scrollTrigger: {
trigger: ".products",
start: "0 95%",
end: "20% 50%",
scrub: true,
// markers: true,
},
});
tl3.to(
".hero-body img",
{
top: "336%",
left: "44%",
right: "40%",
height: "60%",
width: "13%",
zIndex: "4", // Use "ZIndex" instead of "zindex"
},
"animation-3"
);
const tl4 = gsap.timeline({
scrollTrigger: {
trigger: ".testimonials",
start: "0 95%",
end: "20% 50%",
scrub: true,
// markers: true,
},
});
tl4.to(
".hero-body img",
{
top: "400%",
left: "35%",
right: "33%",
height: "984px",
width: "436px",
},
"animation-4"
);
const tl5 = gsap.timeline({
scrollTrigger: {
trigger: ".contact",
start: "0 95%",
end: "20% 50%",
scrub: true,
// markers: true,
},
});
tl5.to(
".hero-body img",
{
top: "510%",
left: "2%",
transform: "rotate(15deg)",
zIndex: "-1",
},
"animation-5"
);
const firstText = document.getElementById("firstText");
const secondText = document.getElementById("secondText");
const slider = document.querySelector(".slider");
let xPercent = 0;
let direction = -1;
function animate() {
if (xPercent < -100) {
xPercent = 0;
} else if (xPercent > 0) {
xPercent = -100;
}
firstText.style.transform = `translateX(${xPercent}%)`;
secondText.style.transform = `translateX(${xPercent}%)`;
requestAnimationFrame(animate);
xPercent += 0.1 * direction;
}
animate(); // Start the animation loop
// Add scroll event listener for scroll-triggered animation
window.addEventListener("scroll", function () {
const triggerPosition = window.innerHeight;
// Check if the trigger position is reached
if (window.scrollY > triggerPosition) {
// Update animation or perform additional actions
console.log("Scroll-triggered animation!");
}
});