●スクリプト
<script type="text/javascript">
$(function(){

  $("div.c_kantou").mouseover(function(){
    $("div#i_kantou:not(:animated)").show("normal");
  })

  $("div.c_kantou").mouseout(function(){
    $("div#i_kantou:not(:animated)").hide("normal");
  })

  $("div.c_kansai").mouseover(function(){
    $("div#i_kansai:not(:animated)").show("normal");
  })

  $("div.c_kansai").mouseleave(function(){
    $("div#i_kansai:not(:animated)").hide("normal");
  })

});
</script>

●HTML
<div class="c_kantou">
関東
<div id="i_kantou" style="display: none;">
<a class="c_tokyo" href="#">東京</a>
<a class="c_kanagawa" href="#">神奈川</a>
<a class="c_saitama" href="#">埼玉</a>
</div><!-- end of i_kantou -->
</div><!-- end of c_kantou -->

<div class="c_kansai">
関西
<div id="i_kansai" style="display: none;">
<a class="c_osaka" href="#">大阪</a>
<a class="c_kyoto" href="#">京都</a>
<a class="c_wakayama" href="#">和歌山</a>
</div><!-- end of i_kansai -->
</div><!-- end of c_kansai -->


●CSS

.c_kantou{
background-color:lightskyblue;
border: 0px solid #FF0000;
width:200px;
float:left;
}

.c_tokyo{
display: block; /* インラインボックスをブロックボックスに変更する */
text-decoration: none; /* リンクの下線を消す */
border:0px solid #FFFFFF;
background-color:lightgreen;
}

.c_kanagawa{
display: block; /* インラインボックスをブロックボックスに変更する */
text-decoration: none; /* リンクの下線を消す */
border:0px solid #FFFFFF;
background-color:springgreen;
}

.c_saitama{
display: block; /* インラインボックスをブロックボックスに変更する */
text-decoration: none; /* リンクの下線を消す */
border:0px solid #FFFFFF;
background-color:greenyellow;
}


.c_kansai{
background-color:sandybrown;
border: 0px solid #FF0000;
width:200px;
float:left;
}

.c_osaka{
display: block; /* インラインボックスをブロックボックスに変更する */
text-decoration: none; /* リンクの下線を消す */
border:0px solid #FFFFFF;
background-color:tomato;
}

.c_kyoto{
display: block; /* インラインボックスをブロックボックスに変更する */
text-decoration: none; /* リンクの下線を消す */
border:0px solid #FFFFFF;
background-color:plum;
}

.c_wakayama{
display: block; /* インラインボックスをブロックボックスに変更する */
text-decoration: none; /* リンクの下線を消す */
border:0px solid #FFFFFF;
background-color:hotpink;
}

●解説
関東のメニュー表示後、サブメニューの項目(東京や神奈川など)を選択しようとすると、
サブメニューが消えてしまう。これはmouseoutが子要素に効いてしまうからである。
一方、関西は、mouseout ではなく mouseleave を使っている。
mouseleaveは子要素には効かない。よって、大阪や京都などにマウスカーソルを乗せても
サブメニューが消えることは無い。
ちなみにnot(:animated)は、アニメーションが連続して止まらなくなる現象を防ぐ処理である。

サンプルソース
http://tokyo-webs.jp/sample_source/130328a/

東京ウェブ制作