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. Background colour change on rollover

Background colour change on rollover

Scheduled Pinned Locked Moved General Discussion
25 Posts 2 Posters 2.7k 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.
  • M Offline
    M Offline
    mariusjopen
    Global Moderator
    wrote on Mar 27, 2018, 4:16 PM last edited by
    #7

    Dear @Toby

    Your code needs to get the number of the category: data-catid="4"

    So it will save the 4 in a variable.

    Then you need to activate a function with hover:
    https://api.jquery.com/hover/

    Ok, I can write you the basic structure of the code. It will not work with copy and paste but will give you a direction:

    1: You hover a project and then you read out the category number data-catid="4" with this: https://api.jquery.com/data/

    2: You save this number in a variable for example var cat_number

    1. You make a IF function inside which says IF var cat_number == 4 then add red as a background colour to the BODY

    I hope I could help.

    A basic tutorial with jQuery should cover probably what you need :-)

    Don't give up. I am here to help!

    Best!

    Marius

    www.mariusjopen.world

    1 Reply Last reply
    1
    • T Offline
      T Offline
      Toby
      wrote on Mar 28, 2018, 5:48 PM last edited by Toby Mar 29, 2018, 5:09 AM
      #8

      Thanks Marius

      I've been reading up and looking at various other examples but unfortunately still drowning in code

      Ive managed to produce a random background colour with this code -

      <script>
      jQuery(document).on("hover", ".info", function(event) {
      jQuery(".hide").toggleClass("show");
      });
      </script>
      <script>
      window.laytheme.on("newpage", function(layoutObj, type, obj){
      console.log("layoutObj", layoutObj);
      console.log("type", type);
      console.log("obj", obj);
      });
      </script>
      <script>
      window.laytheme.on("newpageshown", function(layoutObj, type, obj){
      if(type == "project" && obj.id == 1){
      console.log("fantastic!");
      }
      });
      </script>
      <script>
      var colors = ["#ff1900", '#18b0f7', '#ffde00', '#73c31e', '#ff1900']
      window.laytheme.on("newpageshown", function(){
      var ix = getRandomInt(0, colors.length);
      var color = colors[ix];
      jQuery('body').css('background-color', color);
      });

      function getRandomInt(min, max) {
      min = Math.ceil(min);
      max = Math.floor(max);
      return Math.floor(Math.random() * (max - min)) + min;
      }
      </script>

      but still struggling to allocate the specific hover on the cat_numbers and data

      is this close?? -

      <script>
      window.laytheme.on("hover", hover) function(event){
      if(type == "data-cat-id=6" && var cat_number == 6){
      console.log("fantastic!");
      }
      });
      </script>
      <script>
      window.laytheme.on("hover", function(){
      var color = "rgb(241, 241, 241)");
      jQuery('body').css('background-color', color);
      });

      </script>

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mariusjopen
        Global Moderator
        wrote on Mar 29, 2018, 10:21 AM last edited by
        #9

        Dear @Toby

        I recommend to do a sketch in JS FIDDLE.

        Make there a dic with the data attribute like in Laytheme.

        Then you can also share your progress with us and I can have a look.

        Is that good?

        All the best!

        Marius

        www.mariusjopen.world

        1 Reply Last reply
        1
        • T Offline
          T Offline
          Toby
          wrote on Mar 29, 2018, 11:00 AM last edited by
          #10

          Thanks Marius

          I've visited JSFIDDLE and pasted in my code shall I email you the link?

          Cheers
          Toby

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

            Hi @Toby

            add this to your CUSTOM HEAD CONTENT:

            <script>
            window.laytheme.on("newpage", function(layoutObj, type, obj){
            
            jQuery(document).on("hover", ".thumb", 
              function(event) {
              
              	jQuery("body").removeClass("red");
                jQuery("body").removeClass("blue");
                
                var category = jQuery(this).attr("data-catid");
                
                if (category == 1) {
                  jQuery("body").addClass("red");
            	  }
                
                if (category == 2) {
               		jQuery("body").addClass("blue");
            	  }
                
              }
              
            );
            
            });
            </script>
            

            and this to your custom CSS:

            .red {
              background: red !important;
            }
            
            .blue {
              background: blue !important;
            }
            

            I have two projects with two different categories.
            If you inspect the thumbnails they are called 1 and 2:

            0_1522429869369_Bildschirmfoto 2018-03-30 um 19.10.52.png

            I placed the images as project thumbnails:
            0_1522429906502_Bildschirmfoto 2018-03-30 um 19.11.26.png

            You will probably need to adjust the code.
            But this is the base and you can go on from there.

            Good luck!

            Marius

            www.mariusjopen.world

            M 1 Reply Last reply Apr 10, 2018, 12:00 PM
            1
            • T Offline
              T Offline
              Toby
              wrote on Apr 2, 2018, 7:59 PM last edited by Toby Apr 2, 2018, 4:10 PM
              #12

              Hi Marius

              Thanks for the code.

              I've added this code to my CSS

              .red {
              background: #f1f1f1 !important;
              }
              .red:hover {
              background-color: #ff1900 !important;
              }

              Which works but only when the pointer leaves the actual window and not when it leaves the thumbnails

              Any ideas?

              I'd also like this to only effect the overview page - I did a search on the forum and found this code

              if(obj.slug == "frontpage”){

              changing “frontpage to match my slug and applied it like they said to your example but it didn’t work.

              Cheers
              Toby

              Cheers
              Toby

              1 Reply Last reply
              1
              • M Offline
                M Offline
                mariusjopen
                Global Moderator
                wrote on Apr 5, 2018, 7:49 PM last edited by
                #13

                Hi Toby,

                can you post the whole code you wrote?

                Also I remember that you used mouseenter and mouseout, right?

                That was the way to go.

                Best!

                Marius

                www.mariusjopen.world

                1 Reply Last reply
                1
                • T Offline
                  T Offline
                  Toby
                  wrote on Apr 6, 2018, 8:42 AM last edited by
                  #14

                  Hi Marius

                  I began by adding the above code

                  CSS

                  .red {
                  background: #f1f1f1 !important;
                  }
                  .red:hover {
                  background-color: #ff1900 !important;
                  }
                  .blue {
                  background: #f1f1f1 !important;
                  }
                  .blue:hover {
                  background-color: #ff1900 !important;
                  }

                  JQUERY

                  <script>
                  window.laytheme.on("newpage", function(layoutObj, type, obj){

                  jQuery(document).on("hover", ".thumb",
                  function(event) {

                  jQuery("body").removeClass("red");
                  jQuery("body").removeClass("blue");
                  jQuery("body").removeClass("yellow");
                  
                  var category = jQuery(this).attr("data-catid");
                  
                  if (category == 6) {
                    jQuery("body").addClass("red");
                    }
                  
                  if (category == 3) {
                  	jQuery("body").addClass("blue");
                    }
                  if (category == 5) {
                  	jQuery("body").addClass("yellow");
                    }
                  

                  }

                  );

                  });
                  </script>

                  as I said above this worked all be it the hover off only worked once the mouse had left the window not the thumbnail

                  I did attempt an example with mouseenter and mouseout in JSFIDDLE -

                  https://jsfiddle.net/Toby05/3yjw0dpk/15/#&togetherjs=9ISpwkHzla

                  HTML

                  <div class="box" data-catid="1">data-catid=1</div>

                  CSS

                  .box

                  JQUERY

                  $(document).ready(function(){
                  $(".box").mouseenter(function(){
                  $(this).css("background-color", "#ff1900");
                  });
                  $(".box").mouseleave(function(){
                  $(this).css("background-color", "#f1f1f1");
                  });
                  });

                  but have been unsuccessful in applying more than one colour / category and adding to lay theme.

                  Cheers
                  Toby

                  1 Reply Last reply
                  1
                  • T Offline
                    T Offline
                    Toby
                    wrote on Apr 7, 2018, 10:12 AM last edited by
                    #15

                    Hi Marius

                    I've managed to get some jquery working on JSFIDDLE but when I transferred the code into Layhtheme
                    it doesn't work

                    https://jsfiddle.net/Toby05/va6a10g1/45/#&togetherjs=VIBsap8NEF

                    and here's the code i'm pasting into CUSTOM HEAD CONTENT:

                    <script>
                    window.laytheme.on("newpage", function(layoutObj, type, obj){
                    jquery(document).on ("mouseover", ".thumb",
                    function() {
                    var category = $(this).attr("data-catid");
                    if (category == 1)
                    jquery(this).css('background', "rgb(251,25,0)");
                    }).on("mouseout", function() {
                    jquery(this).css('background', "rgb(241,241,241)");
                    }).on("mouseover", function() {
                    var category = $(this).attr("data-catid");
                    if (category == 2)
                    jquery(this).css('background', "rgb(24, 176, 247)");
                    }).on("mouseout", function() {
                    jquery(this).css('background', "rgb(241,241,241)");
                    }).on("mouseover", function() {
                    var category = $(this).attr("data-catid");
                    if (category == 3)
                    jquery(this).css('background', "rgb(255,222,0)");
                    }).on("mouseout", function() {
                    jquery(this).css('background', "rgb(241,241,241)");
                    }).on ("mouseover",function() {
                    var category = $(this).attr("data-catid");
                    if (category == 4)
                    jquery(this).css('background', "rgb(115,195,19)");
                    }).on("mouseout", function() {
                    jquery(this).css('background', "rgb(241,241,241)");
                    });
                    </script>

                    Thanks
                    Toby

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mariusjopen
                      Global Moderator
                      wrote on Apr 8, 2018, 2:36 PM last edited by
                      #16

                      Hi @Toby

                      as far as I understood – you wanted that the background is changing to a specific color when you hover a category, right?

                      This is not happening in your example.

                      Are we talking about the same thing?

                      All the best!

                      Marius

                      www.mariusjopen.world

                      1 Reply Last reply
                      1
                      • T Offline
                        T Offline
                        Toby
                        wrote on Apr 8, 2018, 6:30 PM last edited by Toby Apr 8, 2018, 2:46 PM
                        #17

                        Hi Marius

                        Yes that's what I want - unfortunately my attempts have been unsuccessful - can you help resolve this?

                        The previous post I'd attached the wrong JSFIDDLE - Here is my latest attempt

                        https://jsfiddle.net/Toby05/va6a10g1/67/#&togetherjs=y4rLV5GyyC

                        Thanks
                        Toby

                        1 Reply Last reply
                        0
                        • M mariusjopen
                          Mar 30, 2018, 5:12 PM

                          Hi @Toby

                          add this to your CUSTOM HEAD CONTENT:

                          <script>
                          window.laytheme.on("newpage", function(layoutObj, type, obj){
                          
                          jQuery(document).on("hover", ".thumb", 
                            function(event) {
                            
                            	jQuery("body").removeClass("red");
                              jQuery("body").removeClass("blue");
                              
                              var category = jQuery(this).attr("data-catid");
                              
                              if (category == 1) {
                                jQuery("body").addClass("red");
                          	  }
                              
                              if (category == 2) {
                             		jQuery("body").addClass("blue");
                          	  }
                              
                            }
                            
                          );
                          
                          });
                          </script>
                          

                          and this to your custom CSS:

                          .red {
                            background: red !important;
                          }
                          
                          .blue {
                            background: blue !important;
                          }
                          

                          I have two projects with two different categories.
                          If you inspect the thumbnails they are called 1 and 2:

                          0_1522429869369_Bildschirmfoto 2018-03-30 um 19.10.52.png

                          I placed the images as project thumbnails:
                          0_1522429906502_Bildschirmfoto 2018-03-30 um 19.11.26.png

                          You will probably need to adjust the code.
                          But this is the base and you can go on from there.

                          Good luck!

                          Marius

                          M Offline
                          M Offline
                          mariusjopen
                          Global Moderator
                          wrote on Apr 10, 2018, 12:00 PM last edited by
                          #18

                          Dear @Toby

                          this is the way to go:

                          The code you just posted is already a step backward.

                          Please try this code and let me know where the problem is.

                          All the best!

                          Marius

                          @mariusjopen said in Background colour change on rollover:

                          Hi @Toby

                          add this to your CUSTOM HEAD CONTENT:

                          <script>
                          window.laytheme.on("newpage", function(layoutObj, type, obj){
                          
                          jQuery(document).on("hover", ".thumb", 
                            function(event) {
                            
                            	jQuery("body").removeClass("red");
                              jQuery("body").removeClass("blue");
                              
                              var category = jQuery(this).attr("data-catid");
                              
                              if (category == 1) {
                                jQuery("body").addClass("red");
                          	  }
                              
                              if (category == 2) {
                             		jQuery("body").addClass("blue");
                          	  }
                              
                            }
                            
                          );
                          
                          });
                          </script>
                          

                          and this to your custom CSS:

                          .red {
                            background: red !important;
                          }
                          
                          .blue {
                            background: blue !important;
                          }
                          

                          I have two projects with two different categories.
                          If you inspect the thumbnails they are called 1 and 2:

                          0_1522429869369_Bildschirmfoto 2018-03-30 um 19.10.52.png

                          I placed the images as project thumbnails:
                          0_1522429906502_Bildschirmfoto 2018-03-30 um 19.11.26.png

                          You will probably need to adjust the code.
                          But this is the base and you can go on from there.

                          Good luck!

                          Marius

                          www.mariusjopen.world

                          1 Reply Last reply
                          1
                          • T Offline
                            T Offline
                            Toby
                            wrote on Apr 10, 2018, 12:10 PM last edited by
                            #19

                            Hi Marius

                            As I explained last week when I add the above code there is no mouse leave effect when the mouse leaves the thumbnail to revert back to the original colour (#f1f1f1)

                            So I added this code to CSS - example for the red hover

                            .red {
                            background: #f1f1f1 !important;
                            }
                            .red:hover {
                            background-color: #ff1900 !important;
                            }

                            Which nearly works, however the mouse leave doesn't revert back to #f1f1f1 until the mouse / pointer leaves the window - I'd like it to happen when the mouse leaves the thumbnail.

                            Any ideas
                            Cheers
                            Toby

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mariusjopen
                              Global Moderator
                              wrote on Apr 12, 2018, 10:39 AM last edited by
                              #20

                              Dear Toby,

                              may I ask you to post the code in the this formatto this thread. And also make it as readable as possible for me. Breaks etc.
                              Otherwise I need to do a surgery which costs a lot of time.

                              Thank you

                              Marius

                              www.mariusjopen.world

                              1 Reply Last reply
                              1
                              • T Offline
                                T Offline
                                Toby
                                wrote on Apr 12, 2018, 11:12 AM last edited by
                                #21
                                This post is deleted!
                                1 Reply Last reply
                                0
                                • T Offline
                                  T Offline
                                  Toby
                                  wrote on Apr 12, 2018, 11:19 AM last edited by Toby Apr 12, 2018, 10:58 AM
                                  #22

                                  Hi Marius

                                  Ok so far my code appears like this -

                                  CUSTOM HEAD CONTENT:

                                  <script>
                                  window.laytheme.on("newpage", function(layoutObj, type, obj){
                                  
                                  jQuery(document).on("hover", ".thumb",
                                  function(event) {
                                  
                                  jQuery("body").removeClass("red");
                                  jQuery("body").removeClass("blue");
                                  
                                  var category = jQuery(this).attr("data-catid");
                                  
                                  if (category == 1) {
                                    jQuery("body").addClass("red");
                                    }
                                  
                                  if (category == 2) {
                                  	jQuery("body").addClass("blue");
                                    }
                                  }
                                  
                                  );
                                  
                                  });
                                  </script>
                                  

                                  and CSS

                                  .red {
                                  background: #f1f1f1!important;
                                  }
                                  .red:hover {
                                  background-color: #ff1900  !important;
                                  }
                                  
                                  .blue {
                                  background: #f1f1f1 !important;
                                  }
                                  
                                  .blue:hover {
                                  background-color: #0280f8 !important;
                                  }
                                  

                                  but the hover only works when the mouse leaves the window not when leaving the thumbnail

                                  Chers
                                  Toby

                                  1 Reply Last reply
                                  0
                                  • M Offline
                                    M Offline
                                    mariusjopen
                                    Global Moderator
                                    wrote on Apr 16, 2018, 11:30 AM last edited by
                                    #23

                                    Dear @Toby

                                    this works:

                                    .red {
                                        background: red !important;
                                    }
                                    
                                    .blue {
                                        background: blue !important;
                                    }
                                    
                                    <script>
                                    window.laytheme.on("newpage", function(layoutObj, type, obj){
                                        
                                        jQuery(document).on("mouseenter", ".thumb", function(event) {
                                        
                                            var category = jQuery(this).attr("data-catid");
                                        
                                            if (category == 1) {
                                                jQuery("body").addClass("red");
                                            }
                                        
                                            if (category == 2) {
                                        	    jQuery("body").addClass("blue");
                                            }
                                        });
                                        
                                        jQuery(document).on("mouseleave", ".thumb", function(event) {
                                            jQuery("body").removeClass("red");
                                            jQuery("body").removeClass("blue");
                                        });
                                    
                                    });
                                    </script>
                                    

                                    All the best!

                                    Marius

                                    www.mariusjopen.world

                                    T 1 Reply Last reply Apr 16, 2018, 1:59 PM
                                    1
                                    • M mariusjopen
                                      Apr 16, 2018, 11:30 AM

                                      Dear @Toby

                                      this works:

                                      .red {
                                          background: red !important;
                                      }
                                      
                                      .blue {
                                          background: blue !important;
                                      }
                                      
                                      <script>
                                      window.laytheme.on("newpage", function(layoutObj, type, obj){
                                          
                                          jQuery(document).on("mouseenter", ".thumb", function(event) {
                                          
                                              var category = jQuery(this).attr("data-catid");
                                          
                                              if (category == 1) {
                                                  jQuery("body").addClass("red");
                                              }
                                          
                                              if (category == 2) {
                                          	    jQuery("body").addClass("blue");
                                              }
                                          });
                                          
                                          jQuery(document).on("mouseleave", ".thumb", function(event) {
                                              jQuery("body").removeClass("red");
                                              jQuery("body").removeClass("blue");
                                          });
                                      
                                      });
                                      </script>
                                      

                                      All the best!

                                      Marius

                                      T Offline
                                      T Offline
                                      Toby
                                      wrote on Apr 16, 2018, 1:59 PM last edited by
                                      #24

                                      Thank You Marius - Thats Great!

                                      1 Reply Last reply
                                      1
                                      • M Offline
                                        M Offline
                                        mariusjopen
                                        Global Moderator
                                        wrote on Apr 18, 2018, 10:16 AM last edited by
                                        #25

                                        Perfect! Happy to hear!

                                        www.mariusjopen.world

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

                                        16/25

                                        Apr 8, 2018, 2:36 PM


                                        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
                                        4 minutes ago
                                        reinterpretR
                                        reinterpret
                                        22 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.
                                        16 out of 25
                                        • First post
                                          16/25
                                          Last post
                                        0
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Users
                                        • Search