Home | Projects | Tutorials | Articles | live chat | Submit Project | Big Vote
 
Ajax Projects
.NET Frameworks
Java Frameworks
PHP Frameworks
Ruby Frameworks
Other Frameworks
Cool AJAX sites
Ajax Resources
Ajax Tools
JavaScript frameworks
Partners

 Home /  Tutorials / Animated Navigation with CSS & jQuery

Animated Navigation with CSS & jQuery





The simple and elegant roll over effects that I liked. I decided to imitate the effect with CSS and jQuery, and would like to share this technique today.

Read The Full Tutorial.
































The simple and elegant roll over effects that I liked. I decided to imitate the effect with CSS and jQuery, and would like to share this technique today.

Step 1. Wireframe – HTML

This part is very simple. Your typical unordered list with links.

<ul id="topnav">
 

    <li><a href="#">Home</a></li>
 

    <li><a href="#">Services</a></li>
 

    <li><a href="#">Portfolio</a></li> 

    <li><a href="#">Blog</a></li>
 

    <li><a href="#">About</a></li>
 

    <li><a href="#">Contact</a></li>
 

</ul>

 

Step 2. Styling – CSS

Only thing special about the below properties will be that each list item has an overflow of hidden to imitate the masking technique. Check out the image below to see what I mean.

jQuery Navigation - CSS

Notice there were no duplicate tags in the markup in step 1. We will be adding that later with a few lines of jQuery.
 

ul#topnav {
 

 margin: 0;
 

 padding: 0;
 

 list-style: none;
 

 float: left;
 

 font-size: 1.1em;
 

}
 

ul#topnav li{ 

 margin: 0;
 

 padding: 0;
 

 overflow: hidden;  /*--Important - Masking out the hover state by default--*/
 

 float: left;
 

 height:40px;
 

}


ul#topnav a, ul#topnav span { /*--The and share the same properties since the will be a duplicate of the
tag--*/
padding: 10px 20px;
float: left;
text-decoration: none;
color: #fff;
background: url(a_bg.gif) repeat-x;
text-transform: uppercase;
clear: both;
width: 100%;
height: 20px;
line-height: 20px; /*--Vertical alignment of text--*/
}
ul#topnav a{ /*--This is basically the hover state of navigation--*/
color: #555;
background-position: left bottom;
}
ul#topnav span{ /*--Default state of navigation--*/
background-position: left top;
}

Step 3. Animation – jQuery

For those who are not familiar with jQuery, do check out their site first and get an overview of how it works. I’ve shared a few tricks that I have picked up along the way, you can check those out as well.

Initial Step – Call the jQuery file

You can choose to download the file from the jQuery site, or you can use this one hosted on Google. 

<script type="text/javascript"
 

src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>


As you can see below, we are duplicating the span tags, then animating them -40px to the top to shift the navigation.

jQuery Navigation - CSS

The following script contains comments explaining which jQuery actions are being performed.
 

$(document).ready(function() {
 

 $("#topnav li").prepend("<span></span>"); //Throws an empty span tag right before the a tag
 

 $("#topnav li").each(function() { //For each list item...
 

  var linkText = $(this).find("a").html(); //Find the text inside of the <a> tag 

  $(this).find("span").show().html(linkText); //Add the text in the <span> tag
 

 }); 
 

 $("#topnav li").hover(function() { //On hover...
 

  $(this).find("span").stop().animate({
 

   marginTop: "-40" //Find the <span> tag and move it up 40 pixels 

  }, 250);
 

 } , function() { //On hover out...
 

  $(this).find("span").stop().animate({ 

   marginTop: "0"  //Move the <span> back to its original state (0px)
 

  }, 250); 

 })
 

});
 

</span></span></span></a>


Demo: http://www.sohtanaka.com/web-design/examples/fancy-navigation/
Download Jquery File: http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js

source: ajaxupdates

neon tabela Says:
Fri Sep 25, 2009 6:41 pm
Your site is very good. There are useful information and most importantly, for sharing great. Thank you
master degree fire science Says:
Tue Jan 19, 2010 8:08 am
Only thing special about the below properties will be that each list item has an overflow of hidden to imitate the masking technique. Check out the image below to see what I mean.
associate degree Software Engineering Says:
Tue Jan 19, 2010 8:09 am
Google Analytics has a new feature that Ajax
master degree early education Says:
Tue Jan 19, 2010 8:09 am
The simple and elegant roll over effects that I liked. I decided to imitate the effect with CSS and jQuery, and would like to share this technique today.
associate degree computer science Says:
Tue Jan 19, 2010 8:10 am
Google Analytics has a new feature that Ajax
Doctorate Engineering Degree Says:
Tue Jan 19, 2010 8:10 am
Amazing keep working like that

Leave Your Comment

Name (Required)
Mail (will not be published) (required)
Website
AddThis Social Bookmark Button
Top Projects
MSN Web Messenger
MessengerFX
ebuddy
e-messenger
ILoveIM
AJAX file upload
You Tube
KoolIM.com
Meebo
Ajax.NET Professional
Tutorials
Kick-start your Java apps
Sort your HTML Tables with AJAX & JavaScript
Predictive Fetch with jQuery and the ASP.NET Ajax Library
Making DIV a Link - Javascript Vs CSS
Mastering Ajax Part 3
How To Make AJAX Read Between The Lines
MVC Framework and jQuery = Ajax Heaven
Html Form submit using Ajax
Setting up Ajax Control Toolkit controls
Javascript Extender Control