/** * Register plugins */ gsap.registerPlugin(ScrollTrigger); const mm = gsap.matchMedia(); mm.add("(min-width: 1200px)", () => { ScrollTrigger.create({ trigger: "#homepage-content-wrapper", // toggleActions: "play none none none", start: "top 200px", end: "bottom 90%", pin: "#main-image", // markers: true, scrub: 1, onUpdate: (self) => { /** * Origin */ if (self.progress < 0.4) { gsap.to("#main-image", { backgroundColor: "#3e3f9c", x: 0, duration: 1, }); gsap.to("body", { backgroundColor: "#181515", }); } /** * Step 2 */ if (self.progress > 0.4) { gsap.to("#main-image", { backgroundColor: "#FE6847", x: -50, duration: 1, }); gsap.to("body", { backgroundColor: "#292a6b", }); } // if (self.progress > 0 && self.progress < 1) { // gsap.to("#main-image", { // position: "fixed", // top: 20, // left: 20, // }); // } }, onLeave: (self) => {}, }); // gsap.to("#main-image", { // scale: 1, // duration: 1, // }); /** * Entry animation timeline */ const entryTimeline = gsap.timeline(); entryTimeline.to("#main-image", { scale: 1, duration: 1, }); /** * Scroll animation timeline */ // const scrollTimeline = gsap.timeline({ // scrollTrigger: { // trigger: "#homepage-content-wrapper", // start: "top 200px", // end: "bottom 90%", // scrub: 1, // }, // }); // scrollTimeline // // .to("#main-image", { // // scale: 1, // // duration: 1, // // }) // .to("#main-image", { // rotate: -10, // }); }); /** * Animates the hero section */ // function homepageTimeline() { // /** // * Animate hero section // */ // tl.to("#main-image", { // y: 100, // }).to("#main-image", { // y: -100, // }); // tl.to("#main-image", { // x: 300, // scrollTrigger: { // trigger: "#main-image", // // toggleActions: "play none none none", // // start: "top center", // // end: "bottom 500px", // // pin: "#main-image", // markers: true, // scrub: 1, // }, // }); // } // .to({ // scrollTrigger: { // trigger: "#homepage-content-wrapper", // // toggleActions: "play none none none", // start: "top top", // end: "bottom bottom", // pin: "#main-image", // markers: true, // scrub: 1, // }, // }); // .to("#main-image", { // y: 300, // duration: 1, // scrollTrigger: { // // trigger: "#homepage-content-wrapper", // // toggleActions: "play none none none", // start: "top 100%", // end: "bottom 0%", // pin: "#main-image", // markers: true, // scrub: 1, // }, // }); // requestAnimationFrame(async () => { // await tl.fromTo( // "#main-image", // { // scale: 1.2, // }, // { // scale: 1, // duration: 1, // } // ); // await tl.to("#main-image", { // y: 300, // duration: 1, // scrollTrigger: { // // trigger: "#main-image", // // toggleActions: "play none none none", // // start: "top center", // // end: "bottom 500px", // pin: true, // markers: true, // scrub: 1, // }, // }); // });