amapic Posted February 24, 2023 Share Posted February 24, 2023 Hello, I would like to reproduce the fifth screen of this website (with the "zoom"animating) : agap2.fr . It's based on a scroll trigger and there is snap on labels every 100px. What is the best way capture the snap parameters of this website ? Also, is there a way to only snap to the next label ? I mean to forbid every return to the current label if we didn't scroll enough to the the next one. It seems to me that it works that way here. I wish I am clear enough and sorry for my bad English. Thanks for your help. snap: { snapTo: "labels", // snap to the closest label in the timeline duration: {min: 0.2, max: 3}, // the snap animation should be at least 0.2 seconds, but no more than 3 seconds (determined by velocity) delay: 0.2, // wait 0.2 seconds from the last scroll event before doing the snapping ease: "power1.inOut" // the ease of the snap animation ("power3" by default) } Link to comment Share on other sites More sharing options...
GSAP Helper Posted February 24, 2023 Share Posted February 24, 2023 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...
Solution GreenSock Posted February 24, 2023 Solution Share Posted February 24, 2023 8 hours ago, amapic said: Also, is there a way to only snap to the next label ? I mean to forbid every return to the current label if we didn't scroll enough to the the next one. It sounds like you're looking for "labelsDirectional" snapping. From the docs: "labelsDirectional" - snap: "labelsDirectional" snaps to the closest label in the timeline that's in the direction of the most recent scroll. So if you scroll a little bit toward the next label (and stop), even if the current scroll position is technically closest to the current/last label, it'll snap to the next one in that direction instead. This can make it feel more intuitive for users. 1 Link to comment Share on other sites More sharing options...
amapic Posted February 26, 2023 Author Share Posted February 26, 2023 Thank you. 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