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.
  • T Offline
    T Offline
    Toby
    wrote on Mar 22, 2018, 10:22 AM last edited by
    #4

    Hi Marius

    I did manage to implement one colour on mouse enter and another on mouse leave
    ( although its also triggered on the text menu which I wouldn't want)

    <script>
    jQuery(document).on("mouseenter", "a", function(){
    jQuery("body").css("background-color", "rgb(251, 25, 0");
    });

    jQuery(document).on("mouseleave", "a", function(){
    jQuery("body").css("background-color", "rgb(241, 241, 241)");
    });
    </script>

    how can I now allocate different colours to different categories / image links

    am I close?

    Cheers
    Toby

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mariusjopen
      Global Moderator
      wrote on Mar 26, 2018, 4:00 PM last edited by
      #5

      Dear @Toby

      well. Good you got that far!

      But there is still a long way to go.

      If you hover a project, you code needs to do the following:

      1. Get the name of the category of the post
      2. Get the color which is connected to that category-name
      3. Apply that color to the BODY tag ( <- that's what you got until now)

      I am sure you will manage!

      Best!

      Marius

      www.mariusjopen.world

      1 Reply Last reply
      1
      • T Offline
        T Offline
        Toby
        wrote on Mar 27, 2018, 2:35 PM last edited by
        #6

        Hi Marius

        Thanks for the hints - I've been playing trying to incorporate the above and have now written this
        but as you can guess its not working hence my call for guidance again.

        Am I getting closer??

        <script>
        jQuery(document).on("mouseenter", "a[href^='http://localhost:8888/wordpress_02/mosch-pit ']", function(){
        jQuery("body[data-type="category"][data-id="6"]") ("body[data-type="project"][data-id="62"]").css("background-color", "rgb(251, 25, 0");
        });

        jQuery(document).on("mouseleave", "a"[href^='http://localhost:8888/wordpress_02/mosch-pit ']"", function(){
        jQuery("body[data-type="category"][data-id="6"]") ("body[data-type="project"][data-id="62"]").css("background-color", "rgb(241, 241, 241)");
        });
        </script>

        Cheers
        Toby

        1 Reply Last reply
        0
        • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes

                                          13/25

                                          Apr 5, 2018, 7:49 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
                                          C
                                          craigfeldspar
                                          4 minutes ago
                                          M
                                          MWPA
                                          25 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.
                                          13 out of 25
                                          • First post
                                            13/25
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Search