Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Lay Theme Forum

  1. Home
  2. General Discussion
  3. Change nav and logo text to white/black when scrolling

Change nav and logo text to white/black when scrolling

Scheduled Pinned Locked Moved General Discussion
21 Posts 10 Posters 3.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    dexter
    wrote on Feb 17, 2017, 1:10 PM last edited by arminunruh Feb 17, 2017, 8:36 AM
    #1

    Hi Armin,

    Is it technically possible to change the font color automatically to black or white when scrolling as soon as the background becomes dark or bright?

    1 Reply Last reply
    0
    • A Offline
      A Offline
      arminunruh
      Global Moderator
      wrote on Feb 17, 2017, 1:34 PM last edited by arminunruh Feb 17, 2017, 8:35 AM
      #2

      Do you mean with the fullscreen slider addon activated or without?

      This is the website you sent me as a reference. http://aronsundberg.se/
      Basically if you look at the code of the website he used this custom javascript (insertable in "custom <head> content" in "lay options" -> "custom css & html")

      <script>
          var offset = 50;
          var $blackRows;
          var $nav;
          
          Frontend.GlobalEvents.on("newpageshown", function(layoutObj, type, obj){
              $blackRows = jQuery(".darkrow");
              $nav = jQuery("nav, .sitetitle, #fp-nav ul li a span, .mobile-title, .burger span");
              $nav.removeClass("white");
          });
          
          jQuery(document).on("scroll", function(){
              $blackRows.each(function(){
                  var rect = this.getBoundingClientRect();
                  if(rect.top - offset < 0 && rect.bottom - offset > 0){
                      $nav.addClass("white");
                      return false;
                  }else{
                      $nav.removeClass("white");
                  }
              });
          });
      </script>
      

      I think parts of this code I wrote in this forum, but i cannot find the post anymore.

      So he gave all rows that are dark a html class of "darkrow" in the gridder. (right click empty part of row and then set html class/id).

      Also he is using the fullscreen slider addon with the "scrollbar" option enabled, that is pretty important here to make it work in that way. the way this code was made, it will also work without the fullscreen slider addon.

      then of course you will need to have some css for the "white" html class to actually make the menu white. Like:

      .white{
      color: white!important;
      }
      
      1 Reply Last reply
      0
      • D Offline
        D Offline
        dexter
        wrote on Feb 17, 2017, 1:43 PM last edited by
        #3

        Thank you Armin!

        1 Reply Last reply
        0
        • A Offline
          A Offline
          adam
          wrote on Dec 10, 2017, 6:55 AM last edited by
          #4

          Hey @arminunruh

          Does this method still work?

          I have tried so many times to get this to work yet still have no success. Both with and without fullscreen slider activated. I followed all the steps exactly as you mentioned also. Is it possible this is being overwritten by the "text-format" and "font-family" selection in the customise section for the site title and nav text?

          Regards
          A

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mariusjopen
            Global Moderator
            wrote on Dec 12, 2017, 1:11 PM last edited by
            #5

            Hi @adam
            we will check for you!

            Best!

            Marius

            www.mariusjopen.world

            1 Reply Last reply
            0
            • A Offline
              A Offline
              arminunruh
              Global Moderator
              wrote on Dec 13, 2017, 8:08 AM last edited by
              #6

              Hey! This should work now:

              JS (insertable in "custom <head> content" in "lay options" -> "custom css & html")

              <script>
                  var offset = 50;
                  var $blackRows;
                  var $nav;
                  
                  window.laytheme.on("newpageshown", function(layoutObj, type, obj){
                      $blackRows = jQuery(".darkrow");
                      $nav = jQuery("nav a, .sitetitle span");
                      $nav.removeClass("white");
                  });
                  
                  jQuery(document).on("scroll", function(){
                      $blackRows.each(function(){
                          var rect = this.getBoundingClientRect();
                          if(rect.top - offset < 0 && rect.bottom - offset > 0){
                              $nav.addClass("white");
                              return false;
                          }else{
                              $nav.removeClass("white");
                          }
                      });
                  });
              </script>
              

              CSS (insertable in "custom css for desktop" in "lay options" -> "custom css & html")

              .white{
              color: white!important;
              }
              

              The main difference is just

                      $nav = jQuery("nav a, .sitetitle span");
              

              nav a instead of nav and sitetitle span instead of span. :)

              1 Reply Last reply
              0
              • A Offline
                A Offline
                adam
                wrote on Jan 3, 2018, 9:20 AM last edited by
                #7

                Hey Armin thanks for the update.

                Is there anyway this is possible with direction set to horizontal and activating fade in effect rather then sliding effect?

                Many thanks

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mariusjopen
                  Global Moderator
                  wrote on Jan 3, 2018, 10:14 PM last edited by
                  #8

                  Hi @adam

                  these are the only options so far:

                  0_1515017609346_Bildschirmfoto 2018-01-03 um 20.12.54.png

                  All the best!

                  Marius

                  www.mariusjopen.world

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    adam
                    wrote on Jan 3, 2018, 11:21 PM last edited by
                    #9

                    Hi Marius, thanks for replying

                    I am aware of the options available within the fullscreen slider, I am asking if its possible to still apply the solution Armin has suggested to changing the site title and navigation color when "horizontal" direction and "fading effect" is selected.

                    I got this to work when scrolling vertically however it doesn't work when scrolling horizontally or with the fade effect activated.

                    Does that make sense?

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mariusjopen
                      Global Moderator
                      wrote on Jan 4, 2018, 2:03 PM last edited by
                      #10

                      Hi @adam
                      ok. I get what you mean :-)

                      So what needs to be done it to change this function:

                       jQuery(document).on("scroll", function(){
                              $blackRows.each(function(){
                                  var rect = this.getBoundingClientRect();
                                  if(rect.top - offset < 0 && rect.bottom - offset > 0){
                                      $nav.addClass("white");
                                      return false;
                                  }else{
                                      $nav.removeClass("white");
                                  }
                              });
                      

                      Right now it gets activated on scroll. You need to activate it when you click and change the slide.

                      You know the basics of jQuery?

                      All the best!

                      Marius

                      www.mariusjopen.world

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        adam
                        wrote on Jan 4, 2018, 10:09 PM last edited by
                        #11

                        Hi @mariusjopen

                        Thanks for the tip, im not to familiar with JQuery. Is it a difficult change?

                        1 Reply Last reply
                        0
                        • B Offline
                          B Offline
                          Brant
                          wrote on Jan 14, 2019, 2:27 PM last edited by
                          #12

                          This does only seem to work in combination with the Fullscreen Slider activated. Is there a way to make it work without / or best with the cover feature activated? help is much appreciated, thanks a lot guys!

                          1 Reply Last reply
                          0
                          • mariusjopenM Offline
                            mariusjopenM Offline
                            mariusjopen
                            Global Moderator
                            wrote on Jan 15, 2019, 7:47 PM last edited by
                            #13

                            Dear @adam
                            I recommend to make a simple tutorial on Codeacademy.

                            You of course need to make a CSS line called

                            .white {
                            baclground: green;
                            }
                            

                            Then you can see the effect.

                            Dear @Brant
                            no. this is always when a row which you gave a custom class hits the top of a page.

                            Best!

                            Marius

                            www.mariusjopen.world

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              StudioTomas
                              wrote on Feb 15, 2019, 2:10 PM last edited by
                              #14

                              Hi there,

                              I'm not sure if this is the right forum post to comment on but hopefully you can help me!

                              My work in progress website is: studiotomas.com

                              I've used Armin's jQuery fix to turn my navigation white for certain rows in fullscreen slider using the .darkrow CSS, but I've encountered a couple of problems:

                              1. I've used an SVG for my logo in place of the site title, so I'm looking for this to link to a white version of the logo, or another fix which will turn the SVG white for a dark row.

                              2. The nav is turning white like it's supposed to on a dark row, but not matter what I try with custom css, I can't get the underline styling I have in place to change to white as well.

                              Help would be amazing, thanks!

                              Tomás

                              fabiandraxlF 1 Reply Last reply Jul 21, 2021, 9:04 AM
                              0
                              • mariusjopenM Offline
                                mariusjopenM Offline
                                mariusjopen
                                Global Moderator
                                wrote on Feb 15, 2019, 7:24 PM last edited by
                                #15

                                Dear @adam
                                put the white into the body, then you can control all elements on the page.
                                For example also a white logo which is visible or not.

                                Depending on the body class. Have a look as well into the structure of the navigation. It has a span element inside.

                                This element has the border-colour.

                                Hope that gave you a direction :-)

                                Best!

                                Marius

                                www.mariusjopen.world

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  mp
                                  wrote on Aug 13, 2019, 8:00 AM last edited by
                                  #16

                                  this works nicely!

                                  ... but if I use it on the first row, the site title will only change after i started scrolling a little bit. Is there a way to have it changed already on reload?

                                  thanks

                                  1 Reply Last reply
                                  0
                                  • mariusjopenM Offline
                                    mariusjopenM Offline
                                    mariusjopen
                                    Global Moderator
                                    wrote on Aug 14, 2019, 5:20 PM last edited by
                                    #17

                                    Dear @mp
                                    you could set the initial colour with CSS.
                                    No need for jQuery in this case.

                                    Best!
                                    Marius

                                    www.mariusjopen.world

                                    1 Reply Last reply
                                    0
                                    • K Offline
                                      K Offline
                                      koenarbouw
                                      wrote on Aug 28, 2020, 1:17 PM last edited by
                                      #18

                                      Hey hey,

                                      Just posting in here as this solved some of what I am trying to achieve. Here is a rough WIP https://mickeyross.photo/ I am working on, I would love to change the menu colour on every full screen scroll so it matches the text below. I have it working on the orange text one, what would be the best way to replicate this all the way down the page? Stuck on the purple one.

                                      Appreciate the help.

                                      Thanks
                                      Koen

                                      1 Reply Last reply
                                      0
                                      • RichardR Offline
                                        RichardR Offline
                                        Richard
                                        Global Moderator
                                        wrote on Sep 2, 2020, 5:13 PM last edited by
                                        #19

                                        Dear @koenarbouw

                                        Could you please post the code you are currently using? & lets take a look :)
                                        I just ask to clarify as it may differ from previously in this thread,( some posts are two years old )

                                        Website looks great btw!

                                        Best Wishes
                                        Richard

                                        1 Reply Last reply
                                        0
                                        • S StudioTomas
                                          Feb 15, 2019, 2:10 PM

                                          Hi there,

                                          I'm not sure if this is the right forum post to comment on but hopefully you can help me!

                                          My work in progress website is: studiotomas.com

                                          I've used Armin's jQuery fix to turn my navigation white for certain rows in fullscreen slider using the .darkrow CSS, but I've encountered a couple of problems:

                                          1. I've used an SVG for my logo in place of the site title, so I'm looking for this to link to a white version of the logo, or another fix which will turn the SVG white for a dark row.

                                          2. The nav is turning white like it's supposed to on a dark row, but not matter what I try with custom css, I can't get the underline styling I have in place to change to white as well.

                                          Help would be amazing, thanks!

                                          Tomás

                                          fabiandraxlF Offline
                                          fabiandraxlF Offline
                                          fabiandraxl
                                          wrote on Jul 21, 2021, 9:04 AM last edited by fabiandraxl Jul 21, 2021, 5:18 AM
                                          #20

                                          @StudioTomas Hej, just visited you site and I am wondering how you achieved the changing color effect on the logo of your site? Could you please reach out to me?

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          I also code custom websites or custom Lay features.
                                          💿 Email me here: 💿
                                          info@laytheme.com

                                          Before you post:
                                          1. When using a WordPress Cache plugin, disable it or clear your cache.
                                          2. Update Lay Theme and all Lay Theme Addons
                                          3. Disable all Plugins
                                          4. Go to Lay Options → Custom CSS & HTML, click "Turn Off All Custom Code", click "Save Changes"

                                          This often solves issues you might run into

                                          When you post:
                                          1. Post a link to where the problem is
                                          2. Does the problem happen on Chrome, Firefox, Safari or iPhone or Android?
                                          3. If the problem is difficult to explain, post screenshots / link to a video to explain it
                                          Online Users
                                          S
                                          Stanlouche
                                          14 minutes ago
                                          E
                                          ericcodina
                                          24 minutes ago
                                          T
                                          ta_io
                                          26 minutes ago
                                          Forgot your key, lost your files, need a previous Lay Theme or Addon version? Go to www.laykeymanager.com
                                          laytheme.com
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Search