ОК, у меня есть желаемая анимация, очень близкая к тому, что я хочу; Однако я сталкиваюсь с ошибкой. http://garibaldi.juggernautwebdesign.com/ и это # меню в левом меню (красочное). Если вы парите, он расширяется, как положено. И если вы позволите ему полностью анимировать , а затем наведите курсор мыши на новый элемент ИЛИ наведите курсор мыши на этот элемент списка, затем он должным образом закроется, и откроется новый элемент (если вы наведите курсор на новый элемент списка) , Однако, если вы наведите курсор мыши на элемент списка, а затем быстро наведите курсор мыши до того, как он успеет полностью анимироваться, тогда он опустится слишком далеко вниз. Есть ли способ остановить анимацию, пока начальное наведение не будет полностью анимированным? Я попытался использовать опцию очереди, но это просто остановило анимацию при наведении.
Вот мой код:
$(document).ready(function() {
//Left nav
$('#menu-left').children().addClass('closed');
$('#menu-left > li a').click(function(e){
e.preventDefault();
});
$('.closed').live('hover', function() {
var position_open = parseInt($(this).css('bottom')) + parseInt($('.sub-menu', this).css('height')) - 12;
$(this).animate({ bottom: position_open }, function() {
$(this).removeClass('closed');
$(this).addClass('opened');
});
});
$('.opened').live('hover', function() {
var position_close = parseInt($(this).css('bottom')) - parseInt($('.sub-menu', this).css('height')) + 12;
$(this).animate({ bottom: position_close }, function() {
$(this).removeClass('opened');
$(this).addClass('closed');
});
});
});
Любая помощь будет принята с благодарностью!