slideDown() / slideUp() などの関数を利用すると任意のコンポーネントを表示または非表示に設定できます。
さらに、マウスクリックでメニューを固定するなどいう指定が可能です。
固定されたメニューは画面いずれかの場所でクリック数すると解除されます。
以下、jQueryの部分です。
$(document).ready(function(){ // 1 when any menu is shown var menuOn=0; $("ul#menu > li").click(function(){ // hide all menu items $("ul#menu > li").each(function(){ $(this).find('ul').css("display","none"); }); $(this).find('ul').css("display","block"); menuOn=1; }); // hide/show menu items $("ul#menu > li").hover(function(){// show menu when the cursor is over if(menuOn==0) { $(this).find('ul').css("display","block"); } }, function(){// hide menu when the cursor is off if(menuOn==0) { $(this).find('ul').css("display","none"); } }); // hide all menus and clear the flag $("#canvas").click(function(){ if(menuOn==1) { $("ul#menu > li").each(function(){ $(this).find('ul').css("display","none"); }); } menuOn=0; }); });スタイルシートです。
ul#menu, ul#menu ul { list-style:none; z-index:1; position:relative; } ul#menu ul li { line-height:25px; width:100px; height:25px; background:#2D435A; } ul#menu ul li a { text-decoration:none; color:#cccccc; margin-left:10px; font-size:14px; text-align:none; } ul#menu ul li#heading a, table#submenu a#heading { color:white; font-size:16px; margin-left:0px; } ul#menu ul { display:none; } ul#menu, ul#menu li, ul#menu ul, ul#menu ul li { margin:0px; padding:0px; } ul#menu li, ul#menu ul li { color:white; } div#menubar { width:100%; background-image:url('../../../../images/topNav_bkgd.jpg');background-repeat:x-repeat; } ul#menu { width:960px; margin:0px auto; padding:0px; } ul#menu li { height:25px; line-height:25px; display:inline-block; vertical-align:top; color:white; text-align:center; width:130px; border:0px; *display:inline; *zoom:1; } ul#menu li ul { width:400px; height:400px; background:#2D435A; opacity:.9; filter:alpha(opacity=90); -ms-filter:"alpha(opacity=90)"; -moz-opacity:.9; -khtml-opacity:.9; text-align:left; } ul#menu li ul li { text-align:left; border:none; padding-top:10px; padding-left:10px; } table#submenu { margin:0px; margin-top:10px; margin-left:10px; border:0px; border-collapse:collapse; width:400px; } table#submenu td { text-align:left; vertical-align:top; } div#canvas { width:100%; text-align:center; } div#position { width:960px; margin:0px auto; text-align:left; }HTMLの部分を示します。
<div id="menu"> <ul> <li>Home <ul> <li><a href="http://www.blogger.com/default.htm" title="Noritake VFD">Home</a> </li> </ul> </li> </ul> </div>