Multi-level Navigation March 16, 2011 Dynamic Menus-pure CSS Examples are fly-out menus, pull-down menus or pop-up menus Some dynamic menus can be created with pure css Disadvantage-submenus disappear instantly if users mouse strays away from link Example: son of suckerfish Multilevel Lists Usually you build an unordered list, with each sub-menu appearing as a list within its parent list item. <ul> <li><a href=“#”>home</a></li> <li><a href=“#”>About Us</a> <ul> <li><a href=“#”>History</a></li> <li><a href=“#”>History</a></li> </ul> </li> </ul> Dynamic Menus-Using Javascript Learning Javascript is beyond the scope of this course Use css to style the navigation and javascript to control the actions of submenu You can also add animation effects like fading If you do use Javascript make sure to put it in the <head> section of your HTML Simple example <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <link href="styles.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> startList = function() { if (document.all&&document.getElementById) { navRoot = document.getElementById("nav"); for (i=0; i<navRoot.childNodes.length; i++) { node = navRoot.childNodes[i]; if (node.nodeName=="LI") { node.onmouseover=function() { this.className+=" over"; } node.onmouseout=function() { this.className=this.className.replace(" over", ""); } } } } } window.onload=startList; </script> </head> Linking to Javascript File Sometimes you will have so much Javascript code that you will need to create a file specifically to house your javascript and then link to this file in the <head> section of your HTML document. You should have a folder specifically for your javascript files Javascript files have a .js on the end of them example: jquerylavalamp.js Linking to Javascript Example <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <link href="styles.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=“javascript/jquery.js"></script> <script type="text/javascript" src=“javascript/jquery.lavalamp.js"></script> </head> Copyright When you use other people’s code you always want to check the copyright information even on tutorials. Site Map In more complex sites, group hyperlinks into a site map that allows it to function as both a navigation tool and outline of site content. A site map will also help optimize your site for search engines Dynamic Navigation Examples Dragon Interactive Interactive Dreams Bern Ski Alpine Sony-Mega Menu Example Alexandru Cohaniuc Jmar’s Blog Creasenso Dynamic Navigation Tutorials List-o-matic CSS Play Dock Menu Lava Lamp Dock Menu 2 Yet Another Dynamic Menu Ultimate Drop Down Menu Horizontal Accordion