В Firefox 5 jQuery slideDown () запускает цепочку анимации в дочерних элементах списка - PullRequest
1 голос
/ 23 июня 2011

Я создал выпадающее меню, используя jQuery. Поэтому, когда я наводю курсор на кнопку, она скользит вниз по меню. Теперь, если я вытащу мышь из меню и верну ее, прежде чем она сдвинется вверх (в меню много пунктов, поэтому у меня достаточно времени, чтобы вернуть мышь обратно в меню) над выпадающим меню, она запускает цепочку Функции slideDown () и slideUp () не прекращаются до тех пор, пока я не переместлю мышь в меню или не вернусь к кнопке. Ниже мой код JQuery:

$(function() {
    $('#slideshow1').cycle();  

    $('#projects').mouseenter(function(){
        $('#dd_Projects').slideDown();
    });  

    $('#projects').mouseleave(function(){
        $('#dd_Projects').slideUp();
    });
});

Я искал в Интернете и уже пробовал e.stopPropagation (), но он не работает.

Это происходит только в Firefox, все отлично работает в IE7, IE8, Safari, Chrome, не уверен насчет других версий Firefox.

Пожалуйста, сообщите

1 Ответ

1 голос
/ 23 июня 2011

Функция остановки jQuery должна делать то, что вы после.Передайте true в качестве первого параметра для очистки очереди анимации.Возможно, вы не хотите переходить к концу анимации, поэтому не передавайте true в качестве второго параметра.

Так что-то вроде:

$('#dd_Projects').stop(true).slideDown('fast', function(){
    $(this).css('height', '');
});

и

$('#dd_Projects').stop(true).slideUp('fast', function(){
    $(this).css('height', '');
});

вместо ваших текущих слайдов должно сработать.

...