親メニューをクリックすると、それに属するサブメニューをスライドアニメーションで表示するメニュー。
例:親メニュー「News」をクリックすると、そのサブメニュー「Events」、「Activities」がスライドアニメーションで表示される。
この例はデザイン的なことやユーザビリティには配慮していないので、使用するアイコン画像、その表示のタイミング等に関しては別途考慮する必要がある。
<ul class="navi">
  <li><div class="parentmenu">News</div>  
    <ul class="submenu">
      <li><a href="#">Events</a></li>
      <li><a href="#">Activities</a></li>
    </ul>
  </li>
  <li><a href="indexjp.php">Contact</a></li>
</ul>
ul.navi{  
  width: 180px;    /*メニューの幅全体を指定*/
}
ul.navi li div.parentmenu {
  padding-left: 25px;    /*マウスオーバー時に背景に画像を表示するためパディングを指定*/
  cursor: pointer;    /*マウスオーバー時にカーソルをポインターに*/
}
ul.navi li div.parentmenu:hover {
  background: url(../images/Menu/menu_plus.gif) no-repeat left center;
  /*マウスオーバー時に背景に「+」印の画像を表示*/
} 
ul.navi li div.selected:hover {
  background: url(../images/Menu/menu_minus.gif) no-repeat left center;
  /*サブメニューをすでに表示している時は、マウスオーバー時に背景に「-」印の画像を表示*/
} 
ul.navi li div.selected {
  color: #333;
  background: #EEE;
  /*サブメニューを表示している時は、親メニューの背景に色を付ける*/
}
ul li {
  font-size: 13px; font-size: 1.3rem; 
  line-height: 20px;
}
ul li a {
  outline: 0;    /*Firefoxでリンクをクリックした際、リンクの回りに点線が表示されないように*/
  padding-left: 25px;    /*マウスオーバー時に背景に画像を表示するためパディングを指定*/
  display: block;
}
ul li a:hover {
  color: blue;
  background: url(../images/Menu/menu_square.gif) no-repeat left center;
  /*マウスオーバー時に背景に「■」印の画像を表示*/
}
ul.submenu {
  padding-left: 30px;  /*サブメニューはインデントして表示*/
}
親メニューをクリックしたとき、サブメニューが開かれていなければ、サブメニューを表示し、サブメニューが開かれていれば、サブメニューを閉じる。
また、サブメニューが開かれている親メニューにクラス「selected」を付与して、マウスオーバー時に背景に「-」印の画像を CSS で表示するようにする。
$('ul.submenu').hide();
  $('ul.navi li div.parentmenu').click(function() {
    $('ul.submenu').slideUp(200);
    $('ul.navi li div.parentmenu').removeClass('selected');    
    if($('+ul', this).css('display') == 'none') {
      $('+ul', this).slideDown(200);
      $(this).addClass('selected');
    }    
  });