折りたたみ式の縦型メニューをjQueryを使って試してみました。
HTMLとjQueryは次のとおり
<script type="text/javascript"> $(function(){ $("ul.menu").hide(); $("div.category").click(function(){ $("ul.menu").slideUp(); $("div.category").removeClass("open"); if($("+ul",this).css("display")=="none"){ $("+ul",this).slideDown(); $(this).addClass("open"); } }); $("ul.menu li").mouseover(function(){ $(this).addClass("rollover"); }).mouseout(function(){ $(this).removeClass("rollover"); }); }); </script> </head> <body> <div id="container"> <ul class="navi"> <li> <div class="category">和食</div> <ul class="menu"> <li><a href="#11">鮨</a></li> <li><a href="#12">天ぷら</a></li> <li><a href="#13">とんかつ</a></li> <li><a href="#14">お好み焼き</a></li> <li><a href="#15">蕎麦・うどん</a></li> <li><a href="#16">すき焼き・しゃぶしゃぶ</a></li> </ul> </li> <li> <div class="category">中華</div> <ul class="menu"> <li><a href="#21">ラーメン</a></li> <li><a href="#22">チャーハン</a></li> <li><a href="#23">餃子</a></li> <li><a href="#24">マーボ豆腐</a></li> <li><a href="#25">エビチリ</a></li> <li><a href="#26">肉まん</a></li> </ul> </li> <li> <div class="category">イタリアン・スペイン</div> <ul class="menu"> <li><a href="#31">パスタ</a></li> <li><a href="#32">ピザ</a></li> <li><a href="#33">パエリア</a></li> </ul> </li> <li> <div class="category">ファストフード</div> <ul class="menu"> <li><a href="#41">ハンバーガー</a></li> <li><a href="#42">フライドチキン</a></li> <li><a href="#43">カレーライス</a></li> <li><a href="#44">アイスクリーム</a></li> </ul> </li> </ul> </div> </body>
CSSは次のとおり
#container { background:#fff; font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', sans-serif; font-size:12px; color: #164158; } #container ul.navi { width:220px; margin:0px; } #container ul.navi, ul.menu { margin: 0; padding: 0; list-style: none; } #container ul.navi li { margin:0px; } #container div.category { margin-top:5px; height: 40px; line-height: 40px; text-indent:30px; background:url("images/category_plus.gif"); cursor:pointer; } #container div.open { background:url("images/category_minus.gif"); color: #fff; } #container ul.menu a{ display:block; height: 35px; line-height: 35px; color: #164158; } #container ul.menu li{ background:url("images/menu.gif"); text-indent:35px; margin-left:0; } #container ul.menu li.rollover{ background:url("images/menu_over.gif"); } #container a { text-decoration:none; }
サンプル