我有這個簡單的子菜單下拉菜單。 問題是,當我懸停菜單項來顯示它的子菜單(與slideDown),它只顯示菜單的一部分,而動畫/效果正在運行(溢出問題) - 當動畫完成時,只有整個菜單是顯示的下拉菜單溢出問題:Mouseenter和Mouseleave + slideDown和slideUp
見我fiddle,看看我的意思是:
HTML:
<ul id="main">
<li><a>Item1</a>
<ul class="sub">
<li>subItem1</li>
<li>subItem2</li>
<li>subItem3</li>
</ul>
</li>
<li><a>Item2</a>
<ul class="sub">
<li>subItem4</li>
<li>subItem5</li>
<li>subItem6</li>
</ul>
</li>
<li><a>Item3</a></li>
<li><a>Item4</a></li>
</ul>
CSS:
個ul{
list-style: none;
position: relative;
z-index: 99;
}
ul#main li{
float: left;
position: relative;
width: 50px;
overflow: visible;
}
ul#main li a{
display: block;
padding: 0px 10px 10px 10px;
}
ul.sub{
position: relative;
top: 100%;
right: 30%;
display: none;
z-index: 999;
}
ul.sub li{
float: none;
}
JS:
$('ul#main li').mouseenter(function(){
$(this).children('ul.sub').slideDown(300);
});
$('ul#main li').mouseleave(function(){
$(this).children('ul.sub').slideUp(300);
});
謝謝,但看看它將寬度更改爲100px時會發生什麼...爲什麼它是由子列表項浮動的? - http://jsfiddle.net/GM9Lm/58/ – DextrousDave
是的,那麼你可能需要在ul.sub li之前添加ul#main,因爲float none不會像以前使用ID定義的那樣工作。請看看這個 - http://jsfiddle.net/im4aLL/GM9Lm/60/ – HADI
哦,是的......我的CSS禮儀在哪裏...... Cascading ... id享有比班級更多的特權...謝謝你的幫助,欣賞 – DextrousDave