Animate Page Color on Scroll in Webflow

Поділитися
Вставка
  • Опубліковано 11 вер 2024
  • Get the cloneable for this project (affiliate link)
    webflow.grsm.i...
    Project code
    github.com/tim...
    Join my Webflow Wizards Community
    / timothyricks

КОМЕНТАРІ • 62

  • @conordolman1
    @conordolman1 6 місяців тому +1

    Fantastic tutorail Timothy! Such an effective way to deal with the scroll animation.

  • @Diego_Cabrera
    @Diego_Cabrera 9 місяців тому +10

    I recently discovered your CSS framework. Do you plan to link Webflow variables to the framework? Also please keep updating it/maintaining it, its awesome. Coming from tailwind, this framework is what has made the most sense to me.

    • @timothyricks
      @timothyricks  9 місяців тому +9

      Thank you! Yes, I’m planning to connect it to native variables. Just waiting on a few updates from Webflow

    • @Diego_Cabrera
      @Diego_Cabrera 9 місяців тому +2

      @@timothyricks Great to hear!

    • @thetestgarden
      @thetestgarden 9 місяців тому +1

      @@timothyricks had the same question. thank you so much for your work.

    • @felipedeamaral
      @felipedeamaral 8 місяців тому

      @@timothyricks 🎯

    • @VetlyApp
      @VetlyApp 8 місяців тому

      @@timothyricksare these updates that are planned?

  • @jo69123
    @jo69123 8 місяців тому +1

    Timothy, could you talk about your tips on how to improve a website’s loading performance?

  • @MrPellican
    @MrPellican 9 місяців тому +5

    I always love your quick tutorials and clean presentation of the steps needed to achieve the result! Thank you so much! However, I have a question: I'm a no-code web designer, meaning I have a good understanding of HTML/CSS but not deep enough like a developer, and I know nothing of Javascript. And when I use custom code, I always feel like I'm losing control and not delivering something truly "mine," you know? Kind of an impostor syndrome, perhaps.... Would you recommend that I learn more about coding? I don't even know where to begin...
    Sorry for the long comment. As I said, thank you for posting such valuable content. Cheers from Brazil! ;)

    • @timothyricks
      @timothyricks  9 місяців тому +8

      Thank you for the kind words and good question! If you’ve mastered the fundamentals of Webflow, learning CSS and JavaScript is a great next step. ChatGTP can help you learn as you go since it can explain anything step by step.
      Having full control over every part of a project is a good desire, but I focus more on finding the best solution regardless of who built it. I have almost no knowledge of the inner workings of scripts like Swiper.js, Lenis Smooth Scroll, or GSAP. But I rely on them weekly because it’s a faster and better result than trying to build those solutions myself.

    • @MrPellican
      @MrPellican 8 місяців тому

      @@timothyricks thank you so much for the reply, Tim! I got more confident knowing how you see and use the tools you mentioned; I guess trying to control everything can get in the way, and using what's already been built (and works) is a more intelligent use of our time. thanks again!

  • @tomsdesign_
    @tomsdesign_ 8 місяців тому +1

    Amazing tutorial Timothy, thanks for sharing!

  • @_pausinh
    @_pausinh 4 місяці тому +1

    Hi Timothy! Thanks for your videos!!
    I'm building a site using Lumos last update, for dark and light modes using [data-theme: light] or dark, how do I apply this animation using that? I'm a bit confused at the moment.

  • @MichaelJohnBurns
    @MichaelJohnBurns 9 місяців тому +1

    Always on point Tim. Thank you!

  • @AdamBradley-w5q
    @AdamBradley-w5q 10 днів тому

    Great video bro! american british spelling of colour had me stumped for a good 45 minutes as to why this wouldn't work

  • @andresesquivel342
    @andresesquivel342 2 місяці тому

    Hey Timothy, love this. Been struggling to animate this manually so this is really a game changer. How would you structure the HTML embed for horizontal scrolling? I tried it but because it’s animating considering a vertical scroll, it doesnt look that good.

  • @GabrielLeFrancois
    @GabrielLeFrancois 9 місяців тому +1

    thanks Timmy. Always helpful.

  • @AndrewE8001
    @AndrewE8001 9 місяців тому

    This is amazing, thank you Timothy! 🤩

  • @saraga94
    @saraga94 5 місяців тому +1

    Great content man!
    Thanks alto

  • @Sam_Barnes
    @Sam_Barnes 5 місяців тому

    Is there any easy way to make this transition progressive ? Instead of going from light to dark based on a section, it would follow a percentage of the page scrolled, like at 50% of the page it would be a 50% mix between light and dark ?

  • @chadonielsmith
    @chadonielsmith 9 місяців тому +1

    Incredible! 🔥

  • @72grey
    @72grey 4 дні тому

    Hello Tim, This might be bit of a stupid question but how did you get the code inside the body tag? I've only seen an insert code before the body tag option. How can I access this?

    • @timothyricks
      @timothyricks  3 дні тому

      Hi, adding an embed into the page allows us to have css inside the body. That css can run without us having to publish the site. Here’s also a "Before closing body tag" code block in page settings and site settings, or a Head code block in the same places. But code added there only runs on the published site.

  • @vojtechhasalik9615
    @vojtechhasalik9615 День тому

    Hi Timothy, thanks for all the great stuff you do. I have a problem here with longer pages - sometimes the page spontaneously changes theme when scrolled (I suspect this has something to do with the page and images etc. not being fully loaded). But after you scroll all the way down, and you refresh the page, it works flawlessly. It's just the first experience that is a little too chaotic. Weird, maybe blame lazy loading?

    • @timothyricks
      @timothyricks  День тому

      Hi, have you tried applying an aspect-ratio to each photo?

    • @vojtechhasalik9615
      @vojtechhasalik9615 День тому

      @@timothyricks thanks for getting back to me Timothy, no, I haven't tried applying aspect-ratio to photos. Since the theme switches randomly in few very specific spots (I did check for random forgotten custom attributes), could defining aspect-ratio help?

    • @vojtechhasalik9615
      @vojtechhasalik9615 День тому

      ugh, having 80+ uniquely sized images (scans of historical documents etc) on that page, I wonder if aspect-ratio is the way forward

  • @jellyholler6197
    @jellyholler6197 7 місяців тому

    Thanks for all that you do, Timothy! I have a quick question-should we be able to add additional variables to the embed code, like "--color--paragraph: var(--light--paragraph);" and "--color--paragraph: var(--dark--paragraph);" for themes 1 and 2, respectively? I've done this to no avail...

    • @timothyricks
      @timothyricks  7 місяців тому

      Sure thing! Yes, it's totally possible! Here's an example.
      variables-color-scroll-70c5397714abbb3d.webflow.io/
      preview.webflow.com/preview/variables-color-scroll-70c5397714abbb3d?preview=4ea16faab391bc272977fd14b20bb414&workflow=preview

  • @SocialboutMedia
    @SocialboutMedia 7 місяців тому

    I really appreciate this one Tim.. thanks eh. The attributes/value shenanigans throw me off sometimes 😅

  • @johnniegomezalzaga4667
    @johnniegomezalzaga4667 8 місяців тому

    This is great stuff!

  • @sebdiable
    @sebdiable 7 місяців тому

    Hey Timothy! As usual, amazing job. This is much better than fighiting with those scrolling animations. However, I've noticed when implementing that the smoothness of the transition when scrolling down is not the same when scrolling up. What could be the reason? I've played a bit with the ease and duration functions but I've had no luck identifying the cause. Thanks!

    • @reecewatt4212
      @reecewatt4212 7 місяців тому

      Second this. My issue seems to be specific to the sections where my videos appear. The transition is instant down the page but smooth back up the page.

  • @valdiszhvaginsh
    @valdiszhvaginsh 8 місяців тому +1

    Thanks!

  • @jensv8859
    @jensv8859 9 місяців тому +1

    love it

  • @user-hr8ld6id3k
    @user-hr8ld6id3k 7 місяців тому

    Having trouble getting the animation to work across all the different mobile versions! Help!

  • @petigubi
    @petigubi 6 місяців тому

    It's great, but not reliable on my website. The color sometimes changes too soon. If I do a refresh, it gets fixed. I don't know why...:/

    • @timothyricks
      @timothyricks  6 місяців тому

      Do all of your images have aspect ratios defined? GSAP calculates the page height before the images load

    • @petigubi
      @petigubi 6 місяців тому

      @@timothyricks Ah, I didn't know that. Thank you very much for the reply!

  • @alpaca_studio
    @alpaca_studio 8 місяців тому +1

    Nice!

  • @lukasschorn
    @lukasschorn 6 місяців тому

    Hi Tim! Thanks for another great resource! ❣I have one question: How would I implement this color change in Lumos 2.0? Do I have to re-create the all the variables like you did in this video, or is there a better more efficient way? Please let me know, thank you so much! 🙏

    • @timothyricks
      @timothyricks  6 місяців тому

      Thank you! For something simple / plug & play, I would recreate the variables from this video and use the script in this video. There’s also another script in this other video for animating the default Lumos themes with GSAP. ua-cam.com/video/SfhjbsqEQA0/v-deo.htmlsi=EOHnhkeDhtRFUrb-

    • @lukasschorn
      @lukasschorn 6 місяців тому

      Thank you@@timothyricks! As I already had the Lumos 2.0 set-up running correctly, I just had to add the script from this video, and it worked perfectly fine! 💪Again, thanks a lot, GOAT! Keep doing such a great job, we all love it!😊

  • @baraniraja8372
    @baraniraja8372 8 місяців тому

    I think this can be done even by following the scroll into page view animations right ? What’s your thought on this. By adjusting background colour at each percentages of scroll levels.

    • @timothyricks
      @timothyricks  8 місяців тому +1

      These color interactions work best when played at a set duration instead of being scrubbed by the scroll bar. When using Webflow's While Scrolling interaction, the user could stop scrolling halfway between the start and end points and get stuck on a weird color. Webflow's Scroll Into View interaction doesn't work for this either because the scroll out of view state applies to both directions. Meaning scrolling down into section 3 also plays the scroll out of view created for going from section 2 back to section 1.

  • @killabtw8185
    @killabtw8185 9 місяців тому +1

    🔥

  • @FernandoComet
    @FernandoComet 8 місяців тому

    Interesting, what do you think is better: Doing it with variables and attributes or doing it with GSAP Scrolltrigger?

    • @timothyricks
      @timothyricks  8 місяців тому +3

      Well this is using GSAP ScrollTrigger to animate the variable values on the body element. Using variables is best for this type of interaction since we only have to animate the body instead of every element on the page.

  • @dimka_tregubov
    @dimka_tregubov 9 місяців тому +1

    💪

  • @wmcreed
    @wmcreed 8 місяців тому

    Thank you so much for this! I was wondering if I could rename the themes to "light", "dark" vs "1", "2", etc. but it seems that breaks the code?

    • @wmcreed
      @wmcreed 7 місяців тому

      One other question if you happen to see this.. is there any way to preview the correct colors in the designer? Having a hard time designing in a single theme vs seeing how things will actually look.

    • @timothyricks
      @timothyricks  7 місяців тому

      @@wmcreed Hi, so glad this helps! No, the theme values aren't renameable. The code relies on the numbers to get the correct theme. To preview a different theme in the designer, we can give the body an element-theme="1" or element-theme="2" attribute. Those attributes can also be applied to individual sections if a section has a background color and font color set.

    • @wmcreed
      @wmcreed 7 місяців тому

      @@timothyricks ok so the "animate-body-to" will overwrite the "element-theme" setting on the published page? Or do I need to remove the element-theme attribute before publishing?

    • @timothyricks
      @timothyricks  7 місяців тому

      @@wmcreed The element-theme would need to be removed before publishing

    • @wmcreed
      @wmcreed 7 місяців тому

      @@timothyricks thanks for the reply. Keep doin the Lord's work out here.

  • @maggotinc
    @maggotinc 8 місяців тому

    Hello Tim,
    your Technique is awesome and simple explained, I like it a lot! However: For me ocasionally the animation ist not working. it just animates back to the other state without trigger. I can't wrap my head around, how this could happen. Any chance to discuss my problem with you? 🙂

    • @timothyricks
      @timothyricks  8 місяців тому +2

      Thank you! I'm sorry you're running into this issue. We need to make sure all images have aspect ratios applied. Otherwise when the images load in, they change the page height and offset the trigger positions. It can make things feel like the interactions aren't triggering in the right place or are triggering randomly.

    • @maggotinc
      @maggotinc 8 місяців тому

      Hello Timothy, thanks for the fast reply. I checked for Issues with pictures. Unfortunately thats not it. Can you point me to some other place I could get help? Since you have offered your own script, I probably won't get help at green-socks forum.@@timothyricks

    • @sphered73
      @sphered73 3 місяці тому

      @@timothyricks I had a similar issue, especially after scrolling the whole page back and forth very fast. I found the solution, and it’s not about the image aspect ratio. Adding ‘preventOverlaps: true’ and ‘fastScrollEnd: true’ to ScrollTrigger settings made the whole thing work like a charm 😇

  • @alexhornak8129
    @alexhornak8129 7 місяців тому

    Anyone running into an issue where the color change animation is triggering to soon on mobile but works fine on desktop?

    • @timothyricks
      @timothyricks  7 місяців тому

      Hi Alex, do all of your images have aspect ratios applied? If not, sometimes the images loading in can offset the scroll start positions

    • @alexhornak8129
      @alexhornak8129 7 місяців тому

      @@timothyricks thanks! It ended up being something similar where I had a section with a bunch of images offset on yPercent and animating up with scroll trigger so on load that section was much smaller than it should be after the animation happens throwing everything off.