Jump to content

Search In
  • More options...
Find results that contain...
Find results in...

Carl last won the day on December 13 2021

Carl had the most liked content!


  • Posts

  • Joined

  • Last visited

  • Days Won


Carl last won the day on December 13 2021

Carl had the most liked content!

About Carl

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi @gilesht If you want to scroll through an SVG and trigger animations along the way this demo from my course ScrollTrigger Express may help https://codepen.io/snorkltv/pen/bb90e695148fec0087f76c2f703cbdb4 I like to keep things simple to make them easier for my students to digest but it was inspired by this amazing example from Shunya Koide https://codepen.io/shunyadezain/pen/rNxzvgp?editors=0010 There's so much you can do with ScrollTrigger and SVG!
  2. Thanks @GreenSock for the explanation. Thanks @OSUblake for chiming in too with the clarification! after reading Jack's explanation I was having trouble figuring out why/if it was needed in your solution. As somewhat of an experienced user I like knowing about these "bonus" methods. On the other hand I can't say a bunch of obvious use cases are jumping out at me for when I would need it. So you can put me down for a vote for documenting it, but I won't be broken-hearted if it doesn't happen.
  3. Clever solution, @OSUblake What is rawTime()? I don't think I've come across that before.
  4. the team will have to comment on whether it's a bug or not, but in case it helps anyone, having scrub:true (not a number) seems to make it work properly. adding fastScrollEnd:true did not seem to have any impact. when scrub is a number it means the animation has to catch up to the scroll position with a slight ease. I guess in some ways it makes sense that since the animation is killed instantly when you leave (before it is finished catching up) you are seeing it in this "stuck" state.
  5. Hi @Fatih MIG glad you enjoyed the article. Whether you use timelines or not does not matter when it comes to overwriting. As long as 2 animations are trying to control the same object at the same time then the rules of overwriting will apply.
  6. there are few ways to do this. if you want to avoid tracking how many times the 2nd part has played without incrementing a variable or something you can lean on tweenTo() and tweenFromTo() I put 2 labels in your banner: after the first tween and after the end of the timeline Then I created a main timeline that tweens to the first label and repeats a tween between the first label and last let main = gsap.timeline() .add(tl.tweenTo("banner")) .add(tl.tweenFromTo("banner", "end", {repeat:1})) https://codepen.io/snorkltv/pen/dyVwMZz?editors=0010 This video from my courses should help explain a bit more
  7. I was slowly getting to the same conclusion as @OSUblake 😁 it's a pretty cool effect. nice job https://codepen.io/snorkltv/pen/XWeyGVZ?editors=1010
  8. this is a demo that accompanies one of the lessons from courses, perhaps it will help https://codepen.io/snorkltv/full/PomzGPN
  9. unfortunately the images don't really help. Just make a very simple demo, none of the real artwork, just some colored divs that represent your layout. If you can replicate the issue without React even better, but here is a starter CodeSandbox demo for you https://codesandbox.io/s/ut42t
  10. thanks for the minimal demo! So strange. I'm not one to be able to discuss the inner workings of GSAP like this, but in case it helps anyone it seems that other properties do not exhibit this behavior. for instance changing opacity to color:white .dim { /* opacity:0.5 */ color:white; } https://codepen.io/snorkltv/pen/vYeVOmz
  11. sorry I don't know what "navbar container" is but your code shows your trigger is the same thing that is being animated . perhaps if you post a demo we'll be able to provide more accurate help.
  12. it looks like the thing you are animating is also your trigger. if your trigger is moving around it is going to cause problems for ScrollTrigger's calculations. You should use something else as your trigger. perhaps create a parent element that wraps your trigger.
  13. @OSUblake the 142vmax for the dot width and height is very cool. clever trick! @Edward not exactly sure what the end result is going to be but I took a chisel to some of the css and changed the trigger to be the block. in one of your more recent demos the "start" marker was way above the "scroller-start" which meant your scrolltrigger animation was most of the way complete when the page first loaded before any scrolling occurred. Your GSAP code really wasn't bad. A big part of all of this is getting CSS to do what you want. This is what I came up with just trying to center the text over the circle. https://codepen.io/snorkltv/pen/RwLJMeL This reminded me of one of my lessons in ScrollTrigger Express. https://codepen.io/snorkltv/pen/NWNrbay?editors=0010 The focus of the lesson is on preventing the page from scrolling until the first part of the animation is done, but it uses a similar circle-fill trick that was inspired by another demo of Blake's. maybe something in the demo will be helpful. 80% of the hard part of ScrollTrigger animations is setting things up with CSS and HTML and getting the animation timeline right BEFORE you worry about ScrollTrigger. My beginner GSAP course is totally free (link in signature) if you are interested. Good luck with the project.