Jump to content
Search Community

FarhanSU

Members
  • Posts

    27
  • Joined

  • Last visited

Posts posted by FarhanSU

  1. Hello! I am new to GSAP and React and I am struggling to find out how to use Scroll Trigger in GSAP v.3.3.4 in my react components. I have tried to do this in react hooks and with Class components but it does not work and spits out an warning saying TypeError: Window.getComputedStyle: Argument 1 is not an object.. I have attached the hook code and also the error that it results in . Apologies I do not have a codepen for my codes. I would appreciate any advices/help! Thank you!!

     

    My Hooks Code is:

    import React, { useRef, useEffect} from 'react';
    import Layout from '../components/Layout'
    import {gsap} from "gsap";
    import { ScrollTrigger } from 'gsap/ScrollTrigger';
    import '../assets/styles/pages.scss';

     

    gsap.registerPlugin(ScrollTrigger);
     
    const Gallery = () => {
     
    const purpleRef = useRef([]);
    const pRef = useRef([]);
     
    useEffect(() =>{
    var tl = gsap.timeline({
    scrollTrigger: {
    trigger: purpleRef,
    scrub: true,
    pin: true,
    start: "top top",
    end: "+=100%"
    }
    });
     
    tl.from(pRef.current, {scale: 0.3, rotation:45, autoAlpha: 0, ease: "power2"})
    .to(purpleRef.current, {backgroundColor: "#28a92b"}, 0);
    })
    return (
    <>
    <Layout>
    <section class="purple" ref={purpleRef}>
    <p ref={purpleRef} >This panel gets pinned in a similar way, and has a more
    involved animation that's wrapped in a timeline, fading
    the background color and animating the transforms of the
    paragraph in addition to the line, all synced with the
    scroll position perfectly.</p>
    </section>
    </Layout>
    </>
    );
    };
     
    export default Gallery;

     

     

    I used ScrollTrigger Scrub Animation demo (The purple panel) as an inspiration which I found on this code pen:

     

    Errorcode(1).png

    Errorcode(2).png

    Errorcode(3).png

    See the Pen WNvVOWw by GreenSock (@GreenSock) on CodePen

×
×
  • Create New...