Итак, у меня есть анимированное выпадающее меню, которое сдвигается вниз, когда мышь находится над ним, а затем исчезает, когда это не так.Достаточно просто.Но если использование перемещает мышь до того, как анимация завершится, то она либо перескочит в конец очереди, обнажая все меню, а затем исчезнет, либо деформирует меню, делая его короче в зависимости от того, какие параметры я передаюstop ().
Как это исправить?
РЕДАКТИРОВАТЬ ::
Вот фотографии того, о чем я говорю:
До: http://img192.imageshack.us/i/beforetc.jpg/
После: http://img682.imageshack.us/i/afterr.jpg/
$('.menu')
.mouseover( function() {
var subMenu = [];
$(this).next().children().each( function() {
subMenu.push( $(this) );
});
slideMenu(subMenu);
});
$('.menuItem').parent()
.mouseleave( function() {
$(this).find('.menuItem').children().stop(true,false).fadeOut(200);
});
function slideMenu(menu) {
var subMenu = $.makeArray(menu);
if ( subMenu.length == 0 )
return true;
else {
var menuItem = subMenu.shift();
$(menuItem).slideDown(50, function() { slideMenu(subMenu); });
}
}
<div class='box'>
<div>
<div class='menu'>Resources</div>
<div class='menuItem'>
<div>Library</div>
<div>Internet</div>
<div>Your mom</div>
</div>
</div>
</div>