よくある問題。親メニュー項目と の間のスペースが.submenu
原因です。
これを簡単に修正するには、メニュー項目とサブメニューの間のブリッジとして機能するのに十分な幅の でラップ.submenu
します。div
ここを参照してください - http://jsfiddle.net/BuJav/15/
CSSの変更 -
.submenu-wrapper {
position: absolute;
min-width: 160px;
min-height: 36px;
top: -4px;
left: 160px;
}
.submenu {
position: relative;
min-width: 160px;
min-height: 36px;
top: 0;
left: 10px;
background: url('../images/gradient_menuarea.png') repeat-x;
}
JS の変更 -
$(function(){
$('#menu > li, .submenu > li').hover(
function(){
var submenu = $(this).find('ul.submenu');
if (submenu.hasClass('submenu')){
submenu.removeClass('hide');
}
},
function(){
var submenu = $(this).find('ul.submenu');
if (submenu.hasClass('submenu')){
submenu.addClass('hide');
}
});
});
サブメニュー ul が正しくターゲットされるように。
このcssを使用してJSを削除できることに注意してください
.submenu {display:none;}
#menu-area ul li:hover .submenu {display:block}
.hide
サブメニュー ul のクラスも必要ありません
http://jsfiddle.net/BuJav/16/