website promotion banner
Free Stock Images
  • Create A Free Account
  • Download High-Res Stock Images For Free
  • +5 Million Images
Your Ad Here
Web Programming  Home Web Programming JavaScript CSS Menu Using JavaScript (Revised)
rss

CSS Menu Using JavaScript (Revised)

Author: Joseph Skidmore More by this author


CSS Menu Using JavaScript (Revised)I noticed a flaw with my original JavaScript drop down menu regarding customization using CSS. The problem was this; the LI elements below the #div's that were hidden didn't conform to their own CSS customization and stuck with the rules of the above LI's.

So the answer was simple, I had to try and customize the containers (#div1, div2 ect), but this didn't seem to work either ... the answer was staring me straight in the face with my own navigation, use the dt and dd tags. It is a completely different element so it should follow different rules.

Here's what I came up with:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title></title>

<style type="text/css">
ul {
list-style-type: none;
margin: 0px;
padding: 0px;
}

ul li a {
display: block;
background-color: #DDEEFF;
color: #369;
width: 100px;
padding: 2px 0px 2px 5px;
text-decoration: none;
}

ul li a:hover {
background-color: #369;
color: #fff;
}

dt a {
display: block;
background-color: #369;
color: #FFF;
width: 100px;
padding: 2px 0px 2px 5px;
text-decoration: none;
}

dt a:hover {
background-color: #FFF;
color: #369;
}
</style>

</head>
<body>

<script type="text/javascript">
//<![CDATA[
function HideandUNhideObj(ThisObj){
nav=document.getElementById(ThisObj).style
if(nav.display=="none"){
nav.display='block';
}else{
nav.display='none';
}
}
//]]>
</script>

<ul>
<li><a href="#" onclick="HideandUNhideObj('div1');"> Menu 1</a></li>
<div style="display: none;" id="div1">
<dl>
<dt><a href="#">Submenu 1</a></dt>
<dt><a href="#">Submenu 2</a></dt>
<dt><a href="#">Submenu 3</a></dt>
<dt><a href="#">Submenu 4</a></dt>
</dl>
</div>
</ul>
<ul>
<li><a href="#" onclick="HideandUNhideObj('div2');"> Menu 2</a></li>
<div style="display: none;" id="div2">
<dl>
<dt><a href="#">Submenu 1</a></dt>
<dt><a href="#">Submenu 2</a></dt>
<dt><a href="#">Submenu 3</a></dt>
<dt><a href="#">Submenu 4</a></dt>
</dl>
</div>
</ul>
<ul>
<li><a href="#" onclick="HideandUNhideObj('div3');"> Menu 3</a></li>
<div style="display: none;" id="div3">
<dl>
<dt><a href="#">Submenu 1</a></dt>
<dt><a href="#">Submenu 2</a></dt>
<dt><a href="#">Submenu 3</a></dt>
<dt><a href="#">Submenu 4</a></dt>
</dl>
</div>
</ul>

</body>
</html>

So the final product actually gives the menu and each submenu it's own style ... perfection! View an example of this working code here: CSS Menu Using JavaScript (Re-Visited).



Rate this Material: Bad 1 2 3 4 5 Excellent
print this page tell a friend subscribe to newsletter subscribe to rss

Add comments to "CSS Menu Using JavaScript (Revised)"