aunque no tenga que ver con el efecto no es correcto anidar de esa forma los ul
te dejo una solición con animate
Código HTML:
Ver original <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){
$('#menu>li').hover( function (){
div = $('div', this);
div.animate({height: $('ul', div).height()+'px'}, { queue:false, duration:500 });
}, function (){
$('div', this).animate({height: '0px'}, { queue:false, duration:500 });
});
})
ul{width:150px}
ul>li{background:green}
ul li>div{height:0px; overflow:hidden; background:blue}