2015-06-16 3 views
2

Я новичок в jquery, и мой fadeIn не работает. Я сделал здесь JSFIDDLE. СпасибоFadeIn jquery [не работает]

$('#menu > li').on('mouseover', function(e){ 
 
    $(this).find("ul:first").fadeIn(120).finish(); 
 
    $(this).find('> a').addClass('active'); 
 
}).on('mouseout', function(e){ 
 
    $(this).find("ul:first").stop().finish().delay(500).fadeOut(120); 
 
    $(this).find('> a').removeClass('active'); 
 
});

ответ

1

Удалить .finish():

$('#menu > li').on('mouseover', function(e){ 
    $(this).find("ul:first").fadeIn(120); 
    $(this).find('> a').addClass('active'); 
}).on('mouseout', function(e){ 
    $(this).find("ul:first").stop().finish().delay(500).fadeOut(120); 
    $(this).find('> a').removeClass('active'); 
}); 

FIDDLE: https://jsfiddle.net/YGB5G/47/

От jQuery site:

Когда на элемент вызывается функция .finish(), текущая анимация и все очереди в очереди (если есть) немедленно останавливаются, а их свойства CSS устанавливаются в их целевые значения. Все очереди в очереди удаляются.

+0

Спасибо! Он работает, но когда я остаюсь в меню, задержка продолжает зацикливаться – Dankata

+0

Что именно вы хотите? – lmgonzalves

+0

Я хочу, когда я навешиваю fadeIn меню. И когда мышь покидает меню, чтобы начать задержку, а затем fadeOut. – Dankata

Смежные вопросы