Jump to content
Search Community

sayedulkrm

Members
  • Posts

    4
  • Joined

  • Last visited

Posts posted by sayedulkrm

  1. I'm a beginner at GSAP.

    I have a complex SVG which runs perfectly in HTML. I'm trying to convert it into React by using GSAP.

    How can I convert the HTML SVG in react?

    Here's the link to HTML SVG: https://codesandbox.io/s/demo-svg-html-esf3dc?file=/index.html
    While you put hover over the circle it is animated.
    Here's the Link to my React App: https://codesandbox.io/s/framer-motion-svg----3333-zcvdk1?file=/src/components/MainSVG.js

    I try to put all curves parents' id in the motion path. I got an error. Now as you can see I just put only 1 path id in the motion path and all works like a mess.

     

    Here's a JS function but I don't know where and how to add that in react. Maybe if I add that to my code it will work.

    const existElementId = (e) => {
        return document.getElementById(e)
    }
    existElementId("circle" + 1)
    
    for (let i = 1; null != existElementId("circle" + i); i++) {
        console.log(existElementId("circle" + i))
        let tl = gsap.timeline({ repeat: -1 });
        tl.to("#dot" + i, {
            duration: document.querySelectorAll("#curve" + i + " path")[0].getTotalLength() / 200,
            ease: "none",
            motionPath: {
                path: "#curve" + i + " path",
                align: "#curve" + i + " path",
                alignOrigin: [0.5, 0.5],
            }
        });
        tl.pause()
        existElementId("circle" + i).onmouseover = () => {
            tl.play()
        }
        existElementId("circle" + i).onmouseleave = () => {
            tl.pause().time(0)
        }
    }

    I'm expecting to get any solution/idea to make it like the index.html file.

×
×
  • Create New...