Description
Hover over a menu item and watch its background colour fade from one colour to another. Works with both hovering and clicking on a navigation button.
Demo
JavaScript
- $("a").ready(function() {
- $("a").click(function() {
- $(this).blur();
- });
- });
-
- $(".menu_fade_back_colour").ready(function() {
- $(".menu_fade_back_colour a").each(function(i) {
- var backCol = $(this).css("background-color");
-
- $(this).addClass("hover");
- var backHoverCol = $(".menu_fade_back_colour a.hover").css("background-color");
- $(this).removeClass("hover");
-
- $(this).addClass("active");
- var backActiveCol = $(".menu_fade_back_colour a.active").css("background-color");
- $(this).removeClass("active");
-
- $(this).mouseover(function() {
- $(this).stop();
- $(this).animate({ backgroundColor: backHoverCol }, "400");
- }).mouseout(function() {
- //$(this).stop(); //play with this for a different fade effect
- $(this).animate({ backgroundColor: backCol }, "400");
- });
-
- $(this).mouseup(function() {
- //$(this).stop(); //play with this to interupt fading of a click
- $(this).animate({ backgroundColor: backHoverCol }, "10");
- }).mousedown(function() {
- $(this).stop();
- $(this).animate({ backgroundColor: backActiveCol }, "10");
- });
- });
- });
CSS
- .navigation {
- border: 1px solid black;
- width: 120px;
- margin: 20px;
- padding: 0px;
- list-style: none;
- margin-left: auto;
- margin-right: auto;
- }
-
- .navigation li a {
- padding: 4px;
- display: block;
- text-decoration: none;
- color: white;
- background-color: green;
- border: 1px solid blue;
- margin: 1px;
- font-family: Tahoma;
- font-size: 90%;
- height: 14px;
- line-height: 14px;
- vertical-align: middle;
- }
-
- .navigation li a:hover,
- .navigation li a.hover {
- background-color: red;
- }
-
- .navigation li a:active,
- .navigation li a.active {
- background-color: blue;
- }
XHTML
- <div class="half_page">
- <h5>Without Fade</h5>
- <ul class="navigation">
- <li><a href="#">Page 1</a></li>
- <li><a href="#">Page 2</a></li>
- <li><a href="#">Page 3</a></li>
- <li><a href="#">Page 4</a></li>
- <li><a href="#">Page 5</a></li>
- <li><a href="#">Page 6</a></li>
- <li><a href="#">Page 7</a></li>
- <li><a href="#">Page 8</a></li>
- </ul>
- </div>
-
- <div class="half_page">
- <h5>With Fade</h5>
- <ul class="navigation menu_fade_back_colour">
- <li><a href="#">Page 1</a></li>
- <li><a href="#">Page 2</a></li>
- <li><a href="#">Page 3</a></li>
- <li><a href="#">Page 4</a></li>
- <li><a href="#">Page 5</a></li>
- <li><a href="#">Page 6</a></li>
- <li><a href="#">Page 7</a></li>
- <li><a href="#">Page 8</a></li>
- </ul>
- </div>