目的を達成するには、ブロック自体ではなく、内側のサブメニュー要素をslideDown()する必要があります。このサンプルマークアップを検討してください。
<div class="item" id="mybox">floating box
<ul class="submenu" style="display: none;">
<li>Subitem 1</li>
<li>Subitem 2</li>
<li>Subitem 3</li>
</ul>
</div>
<p>More content... Just to illustrate</p>
<p>More content... Just to illustrate</p>
CSSは次のようになります。
.item {
position: relative; /* to hold absolutely positioned submenu inside */
background: #2684b7;
color: #fff;
padding: 10px;
float: left;
}
.item .submenu {
position: absolute; /* the menu would go on top of everything */
background: #2684b7;
width: 100%;
left: 0;
}
p {
clear: both;
}
そして最後に、JavaScriptはシンプルです。アニメーションを防弾することを忘れないでください:</ p>
$('#mybox').hover(
function() { /* mouseover */
$(this).find('.submenu').slideDown();
},
function() { /* mouseout */
$(this).find('.submenu').slideUp();
}
);
jsFiddleの例は次のとおりです。http://jsfiddle.net/zxrvC/
幸運を。</ p>
</ p>