Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Brite
  • 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. Random color background

Random color background

Scheduled Pinned Locked Moved General Discussion
backgroundcolorcolorrandombackground
20 Posts 9 Posters 7.4k Views 4 Watching
  • 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.
  • arminunruhA
    arminunruhA
    arminunruh
    Global Moderator
    wrote on last edited by
    #11

    I think that jQuery('.burger span:before') doesn't work. I think you cannot select a ":before" and style it like that. Because :before is not an html element but just a css selector. So I'm sorry but I think you cannot give the burger icon a random color :/

    DMBD 1 Reply Last reply
    0
    • arminunruhA arminunruh

      I think that jQuery('.burger span:before') doesn't work. I think you cannot select a ":before" and style it like that. Because :before is not an html element but just a css selector. So I'm sorry but I think you cannot give the burger icon a random color :/

      DMBD
      DMBD
      DMB
      wrote on last edited by
      #12

      @arminunruh Ok thanks for that Armin, good to know so i dont waste hours trying to make it work! :grin:

      1 Reply Last reply
      0
      • arminunruhA arminunruh

        Thanks! :)

        Add this to "lay options" -> "Custom css & html":

        <script>
            var colors = ["#fff", '#000', '#f0f', '#0ff', '#00f', '#ff0', '#0f0']
            Frontend.GlobalEvents.on("newpageshown", function(){
                var ix = getRandomInt(0, colors.length);
                var color = colors[ix];
                jQuery('body').css('background-color', color);
            });
            
            // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
            // Returns a random integer between min (included) and max (excluded)
            // Using Math.round() will give you a non-uniform distribution!
            function getRandomInt(min, max) {
                min = Math.ceil(min);
                max = Math.floor(max);
                return Math.floor(Math.random() * (max - min)) + min;
            }
        </script>
        
        J
        J
        jmfontbote
        wrote on last edited by
        #13

        @arminunruh Hi, I want to do a background color random, but I have an issue to do it. I tried to do what you proposed, but it did not help. Can you please check the web?
        w. cookieradio.online
        Thanks!

        1 Reply Last reply
        0
        • arminunruhA
          arminunruhA
          arminunruh
          Global Moderator
          wrote on last edited by
          #14

          hey man sorry i have too many other things to do

          1 Reply Last reply
          0
          • F
            F
            fernandol97
            wrote on last edited by
            #15

            Also trying to achieve this. Quick question about when adding the code in lay options>custom css & html. which box do you enter the code into? do you add it into the custom css box?

            1 Reply Last reply
            0
            • mariusjopenM
              mariusjopenM
              mariusjopen
              Global Moderator
              wrote on last edited by
              #16

              Dear @fernandol97
              yes. CSS into the CSS box.
              JS into the head or the footer.

              Best!
              Marius

              www.mariusjopen.world

              1 Reply Last reply
              0
              • A
                A
                acsgaffney
                wrote on last edited by
                #17

                Hello admins,

                I have done some trawling around and tried a few different fixes but cannot seem to get the above (original) code to work - to have a random background selected from a set of colors. I've added the code line-for-line into the <head> section on the Custom CSS page.

                Is there an issue with JS function getRandomInt or a change to the 'background-color' order or syntax? Any help would be apprecieated. Thanks!

                Best

                www.angusgaffney.com/category/projects

                1 Reply Last reply
                0
                • RichardR
                  RichardR
                  Richard
                  Global Moderator
                  wrote on last edited by
                  #18

                  Dear @acsgaffney

                  The code above referring to this one?:

                  <script>
                  var colors = [ "#006180", '#CCFF00', '#00FFFF', '#1100ff']
                  Frontend.GlobalEvents.on("newpageshown", function(layoutObj, type, obj){
                  	if(obj.slug == "about"){
                  		var ix = getRandomInt(0, colors.length);
                  		var color = colors[ix];
                  		jQuery('._About_Desc').css('color', color);
                  		jQuery('._PROJ_HEAD').css('color', color);
                  		jQuery('.sitetitle.txt ').css('color', color);
                  		jQuery('nav.primary a').css('color', color);
                  		jQuery('nav.primary .current-menu-item a ').css('color', color);
                  		jQuery('nav.primary a:hover').css('color', color);
                  		jQuery('p').css('color', color);
                  		jQuery('hr ').css('color', color);
                  		jQuery('.lay-textformat-parent a').css('color', color);
                  		jQuery('.lay-textformat-parent a:hover').css('color', color);
                  	}else{
                  		jQuery('._About_Desc').css('color', '');
                  		jQuery('._PROJ_HEAD').css('color', '');
                  		jQuery('.sitetitle.txt ').css('color', '');
                  		jQuery('nav.primary a').css('color', '');
                  		jQuery('nav.primary .current-menu-item a ').css('color', '');
                  		jQuery('nav.primary a:hover').css('color', '');
                  		jQuery('p').css('color', '');
                  		jQuery('hr ').css('color', '');
                  		jQuery('.lay-textformat-parent a').css('color', '');
                  		jQuery('.lay-textformat-parent a:hover').css('color', '');
                  	}
                  });
                  
                  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
                  // Returns a random integer between min (included) and max (excluded)
                  // Using Math.round() will give you a non-uniform distribution!
                  function getRandomInt(min, max) {
                  	min = Math.ceil(min);
                  	max = Math.floor(max);
                  	return Math.floor(Math.random() * (max - min)) + min;
                  }
                  </script>
                  
                  

                  Pretty sure you must change the 'Frontend.globalevents.on' to the modern 'window.laytheme.on'

                  https://laytheme.com/documentation.html#custom-javascript

                  I believe things have changed since 2016! :)

                  Hope this helps & best wishes for 2021
                  Richard

                  1 Reply Last reply
                  0
                  • G
                    G
                    Giammi
                    wrote on last edited by
                    #19

                    Hi there, this code work great :)

                    I'm pretty new to the Wordpress and the Lay Theme and i was wondering if there is anyway i can add this code only for a specific page instead of make it global. Is it possible?

                    Thank you in advance for the answer.

                    Have a nice day.

                    1 Reply Last reply
                    0
                    • arminunruhA
                      arminunruhA
                      arminunruh
                      Global Moderator
                      wrote on last edited by
                      #20

                      u can find the correct working code here:

                      https://laytheme.com/documentation/custom-javascript.html#newpage-events

                      <script>
                      var colors = ["#fff", '#000', '#f0f', '#0ff', '#00f', '#ff0', '#0f0']
                      window.laytheme.on("newpageshown", function(){
                      	var ix = getRandomInt(0, colors.length);
                      	var color = colors[ix];
                      	jQuery('#grid, #custom-phone-grid, .cover-region-desktop, .cover-region-phone, #footer, #footer-custom-phone-grid').css('background-color', color);
                      });
                      
                      // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
                      // Returns a random integer between min (included) and max (excluded)
                      function getRandomInt(min, max) {
                      	min = Math.ceil(min);
                      	max = Math.floor(max);
                      	return Math.floor(Math.random() * (max - min)) + min;
                      }
                      </script>
                      

                      @Giammi
                      read the text at the link above, u can find out how to do that there

                      1 Reply Last reply
                      0
                      • E etienne referenced this topic on

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Online Users
                      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