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.9k 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.
  • mariusjopenM Offline
    mariusjopenM Offline
    mariusjopen
    Global Moderator
    wrote on 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 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 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
        • mariusjopenM Offline
          mariusjopenM Offline
          mariusjopen
          Global Moderator
          wrote on 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 last edited by Toby
            #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
            • mariusjopenM mariusjopen

              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

              mariusjopenM Offline
              mariusjopenM Offline
              mariusjopen
              Global Moderator
              wrote on 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 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
                • mariusjopenM Offline
                  mariusjopenM Offline
                  mariusjopen
                  Global Moderator
                  wrote on 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 last edited by
                    #21
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      Toby
                      wrote on last edited by Toby
                      #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
                      • mariusjopenM Offline
                        mariusjopenM Offline
                        mariusjopen
                        Global Moderator
                        wrote on 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
                        1
                        • mariusjopenM mariusjopen

                          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 last edited by
                          #24

                          Thank You Marius - Thats Great!

                          1 Reply Last reply
                          1
                          • mariusjopenM Offline
                            mariusjopenM Offline
                            mariusjopen
                            Global Moderator
                            wrote on 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


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