$(document).ready(function () { $("html,body").addClass("overflow"); setTimeout(() => { $("html,body").removeClass("overflow"); }, 2500); gsap.registerPlugin(ScrollTrigger); var $animeCard = document.querySelector(".anime-card-inner"); //loader img gsap.set($animeCard, { rotationY: 90, top: "50%", left: "50%", xPercent: -50, yPercent: -50, width: "40vh", height: "40vh", scale: 1 }); //img set gsap.set(".anime-card-front img", { attr: { src: "https://www.yudiz.com/codepen/gsap-landing-page/tanjiro.jpg" } }); gsap.set(".anime-card-back img", { attr: { src: "https://www.yudiz.com/codepen/gsap-landing-page/zenitsu.jpg" } }); //Main card-wrapper gsap.set(".anime-card", { x: "50%", y: "50%" }); // Main-text animation //Main text load gsap.set(".main-txt", { opacity: 0, yPercent: 50 }); const mainTxt = gsap.timeline(); mainTxt.to(".main-txt", { opacity: 1, yPercent: -50, duration: 2 }); //Main text opacity down const mainTxt2 = gsap.timeline({ scrollTrigger: { trigger: ".main-txt", start: "center center", end: "+=50", markers: false, scrub: 1 } }); mainTxt2.to(".main-txt", { opacity: 0, ease: "linear" }); //loader to scale const tl = gsap.timeline(); tl.to($animeCard, { rotationY: 0, ease: Expo.easeIn, duration: 2.5, scale: 1, width: "100vw", height: "100vh" }); //Banner one image scale down const t2 = gsap.timeline({ scrollTrigger: { trigger: ".banner", start: "center center", end: "+=600", markers: false, scrub: 1 } }); if (window.innerWidth >= 1200 && window.innerWidth <= 1499) { t2.to($animeCard, { height: "60vh", width: "472.5px", left: "calc(243.75px + (50% - 585px) + 682.5px)" }); } else if (window.innerWidth >= 992 && window.innerWidth <= 1199) { t2.to($animeCard, { height: "60vh", width: "465px", left: "calc(240px + (50% - 480px) + 480px)" }); } else if (window.innerWidth >= 768 && window.innerWidth <= 991) { t2.to($animeCard, { height: "60vh", width: "345px", left: "calc(180px + (50% - 360px) + 360px)" }); } else if (window.innerWidth <= 767) { t2.to($animeCard, { height: "calc(100vh - 340px)", width: "95%", left: "50%", top: "calc(100% - 40px)", yPercent: -100 }); } else { t2.to($animeCard, { height: "60vh", width: "535px", left: "calc(275px + (50% - 660px) + 770px)" }); } gsap.to(".main-wallpaper", { opacity: 0, scrollTrigger: { trigger: ".banner", start: "center+=" + 100 + " center", end: "bottom center", markers: false, scrub: 1 } }); //Banner text-animation gsap.set(".banner-content", { opacity: 0, yPercent: 50 }); gsap.to(".banner-content", { ease: "linear", yPercent: 0, opacity: 1, scrollTrigger: { trigger: ".banner", start: "center+=" + 300 + " center", end: "+=200", markers: false, scrub: 1 } }); //Banner animation gsap.to(".banner", { ease: "linear", scrollTrigger: { trigger: ".banner", start: "center center", end: "+=600", markers: false, pin: true, pinSpacing: true, scrub: 1 } }); //Banner two animation gsap.to(".banner-two", { ease: "linear", scrollTrigger: { trigger: ".banner-two", start: "center center", end: "+=600", markers: false, pin: true, pinSpacing: true, scrub: 1 } }); //Banner two image rotation const t3 = gsap.timeline({ scrollTrigger: { trigger: ".banner-two", start: "top center", end: "+=600", markers: false, scrub: 1 } }); if (window.innerWidth <= 767) { t3.to($animeCard, { rotationY: -180, height: "100vh", width: "100vw", left: "50%", top: "50%", yPercent: -50 }); } else { t3.to($animeCard, { rotationY: -180, height: "100vh", width: "100vw", left: "50%" }); } //Banner three animation gsap.to(".banner-three", { ease: "linear", scrollTrigger: { trigger: ".banner-three", start: "center center", end: "+=600", markers: false, pin: true, pinSpacing: true, scrub: 1 } }); //Banner three image rotation const t4 = gsap.timeline({ scrollTrigger: { trigger: ".banner-three", start: "top center", end: "+=600", markers: false, scrub: 1 } }); if (window.innerWidth >= 1200 && window.innerWidth <= 1499) { t4.to($animeCard, { rotationY: -360, height: "60vh", width: "472.5px", left: "calc((50% - 585px) + 243.75px)" }); } else if (window.innerWidth >= 992 && window.innerWidth <= 1199) { t4.to($animeCard, { rotationY: -360, height: "60vh", width: "465px", left: "calc((50% - 465px) + 240px)" }); } else if (window.innerWidth >= 768 && window.innerWidth <= 991) { t4.to($animeCard, { rotationY: -360, height: "60vh", width: "345px", left: "calc((50% - 360px) + 180px)" }); } else if (window.innerWidth <= 767) { t4.to($animeCard, { rotationY: -360, height: "calc(100vh - 340px)", width: "95%", left: "50%", top: "calc(100% - 40px)", yPercent: -100 }); } else { t4.to($animeCard, { rotationY: -360, height: "60vh", width: "535px", left: "calc((50% - 660px) + 275px)" }); } //Banner four animation gsap.to(".banner-four", { ease: "linear", scrollTrigger: { trigger: ".banner-four", start: "center center", end: "+=600", markers: false, pin: true, pinSpacing: true, scrub: 1 } }); //Banner four image rotation const t5 = gsap.timeline({ scrollTrigger: { trigger: ".banner-four", start: "top center", end: "+=600", markers: false, scrub: 1 } }); if (window.innerWidth <= 767) { t5.to($animeCard, { rotationY: -180, height: "100vh", width: "100vw", left: "50%", top: "50%", yPercent: -50 }); } else { t5.to($animeCard, { rotationY: -180, height: "100vh", width: "100vw", left: "50%" }); } // Main wrapper card gsap.to(".anime-card", { ease: "linear", scrollTrigger: { trigger: ".anime-card", start: "top top", end: "top bottom", endTrigger: ".slider-card ", markers: false, pin: true, pinSpacing: false, scrub: 1 } }); //slider-left img animation gsap.set(".slider-left img:first-child", { xPercent: 50 }); gsap.set(".slider-left img:not(:first-child)", { xPercent: 100 }); gsap.to(".slider-left .img-1", { ease: "none", xPercent: -95, scale: 0.6, scrollTrigger: { trigger: ".slider-card", start: "center+=" + 180 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); gsap.to(".slider-left .img-2", { ease: "none", xPercent: -70, scale: 0.7, scrollTrigger: { trigger: ".slider-card", start: "center+=" + 360 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); gsap.to(".slider-left .img-3", { ease: "none", xPercent: -40, scale: 0.8, scrollTrigger: { trigger: ".slider-card", start: "center+=" + 540 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); gsap.to(".slider-left .img-4", { ease: "none", xPercent: -10, scale: 0.9, scrollTrigger: { trigger: ".slider-card", start: "center+=" + 720 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); gsap.to(".slider-left .img-5", { ease: "none", xPercent: 20, scale: 1, scrollTrigger: { trigger: ".slider-card", start: "center+=" + 800 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); // slider right img animation gsap.set(".slider-right img:first-child", { xPercent: -50 }); gsap.set(".slider-right img:not(:first-child)", { xPercent: -100 }); gsap.to(".slider-right .img-1", { ease: "none", xPercent: 95, scale: 0.6, scrollTrigger: { trigger: ".slider-card ", start: "center+=" + 180 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); gsap.to(".slider-right .img-2", { ease: "none", xPercent: 70, scale: 0.7, scrollTrigger: { trigger: ".slider-card ", start: "center+=" + 360 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); gsap.to(".slider-right .img-3", { ease: "none", xPercent: 40, scale: 0.8, scrollTrigger: { trigger: ".slider-card ", start: "center+=" + 540 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); gsap.to(".slider-right .img-4", { ease: "none", xPercent: 10, scale: 0.9, scrollTrigger: { trigger: ".slider-card ", start: "center+=" + 720 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); gsap.to(".slider-right .img-5", { ease: "none", xPercent: -20, scale: 1, scrollTrigger: { trigger: ".slider-card ", start: "center+=" + 800 + " center", end: "center+=" + 900 + " center", markers: false, scrub: 1 } }); //slider card gsap.to(".slider-card", { ease: "linear", scrollTrigger: { trigger: ".slider-card", start: "center center", end: "+=1000", markers: false, pin: true, pinSpacing: true, scrub: 1 } }); // image source changed gsap.to(".anime-card-front img", { attr: { src: "https://www.yudiz.com/codepen/gsap-landing-page/inosuke.jpg" }, scrollTrigger: { trigger: ".banner-three", start: "top bottom", end: "top bottom", endTrigger: ".slider-card ", markers: false, scrub: 1 } }); gsap.to(".anime-card-back img", { attr: { src: "https://www.yudiz.com/codepen/gsap-landing-page/nezuko.png" }, scrollTrigger: { trigger: ".banner-four", start: "top bottom", end: "top bottom", endTrigger: ".slider-card ", markers: false, scrub: 1 } }); });