Sajidul Islam Posted May 13 Share Posted May 13 Hi all, Lets say, I have a section and it's total height is 1200px. And I set it's height 100px and use overflow hidden with CSS to hide the other 1100px. My goal is when user scroll to see the other section(below the section I'm talking about) until the remaining 1100px is scrolled. after that people can see the other sections below it. I was able to make a demo, but it not working properly. Is it possible to achieve my goal using GSAP? Please see the video for better understanding. https://www.veed.io/embed/d61cde25-3dbd-4e40-8a32-fbe4ae94fa9d See the Pen KKGexPN by sajidulislam0 (@sajidulislam0) on CodePen Link to comment Share on other sites More sharing options...
Solution PointC Posted May 13 Solution Share Posted May 13 From your description, it sounds like you need to wrap that scrolling block of text in a parent container and pin everything while it scrolls. Here's a fork of your pen. See the Pen qBJKzLo by PointC (@PointC) on CodePen Hopefully that helps. Happy tweening. 2 Link to comment Share on other sites More sharing options...
Sajidul Islam Posted May 13 Author Share Posted May 13 Thanks, I will give it a try. Link to comment Share on other sites More sharing options...
Sajidul Islam Posted May 13 Author Share Posted May 13 Hi, There is a large pin space below that section, Would you be able yo tell me how to fix this issue here? Link to comment Share on other sites More sharing options...
GSAP Helper Posted May 15 Share Posted May 15 It's pretty tough to troubleshoot without a minimal demo - the issue could be caused by CSS, markup, a third party library, your browser, an external script that's totally unrelated to GSAP, etc. Would you please provide a very simple CodePen or CodeSandbox that demonstrates the issue? Please don't include your whole project. Just some colored <div> elements and the GSAP code is best (avoid frameworks if possible). See if you can recreate the issue with as few dependancies as possible. If not, incrementally add code bit by bit until it breaks. Usually people solve their own issues during this process! If not, then at least we have a reduced test case which greatly increases your chances of getting a relevant answer. Here's a starter CodePen that loads all the plugins. Just click "fork" at the bottom right and make your minimal demo: See the Pen aYYOdN by GreenSock (@GreenSock) on CodePen If you're using something like React/Next/Vue/Nuxt or some other framework, you may find StackBlitz easier to use. We have a series of collections with different templates for you to get started on these different frameworks: React/Next/Vue/Nuxt. Once we see an isolated demo, we'll do our best to jump in and help with your GSAP-specific questions. Link to comment Share on other sites More sharing options...
Rodrigo Posted May 15 Share Posted May 15 Hi, If you check Craig's example you'll see this: gsap.to(".home-banner", { yPercent: -100, ease: "none", scrollTrigger: { trigger: ".home-banner", // Element that triggers the animation start: "top 45%", end: "bottom 45%", scrub: 1, pin: "#main_scroller_section", // Element pinned in the animation markers: true } }); As you can see the element is animated and that triggers the ScrollTrigger instance is different from the element being pinned. That's how you avoid that space you're referring to. Here is how the HTML looks: <div id="main_scroller_section"> <!-- PINNED ELEMENT --> <div class="other-section">Simple Spacer</div> <div class="wrapper"> <div class="home-banner"> <!-- ELEMENT THAT TRIGGERS THE ANIMATION --> <!-- CONTENT HERE --> </div> </div> <div class="other-section">Simple Spacer</div> </div> Hopefully this clear things up. Happy Tweening! 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now