2013-12-09 4 views
2

У меня есть список, который появляется справа, когда div зависает. Я хотел использовать jqueries slideUp/Down, чтобы показать и скрыть список, который работает большую часть времени. но иногда функция будет запускаться многократно. Постоянное открытие и закрытие. Я не уверен, почему это так. Есть идеи?jQuery slideUp/Down продолжает повторяться?

Heres мой код:

$(myDiv).hover(

    function() { 

    $('ul.list_menu').slideDown('medium'); 

    }, 
    function() { 

     $('ul.list_menu').slideUp('medium'); 

    } 

);

ответ

3

Попробуйте несколько stops

$(myDiv).hover(function() { 
    $('ul.list_menu').stop(true, true).slideDown('medium'); 
},function() { 
    $('ul.list_menu').stop(true, true).slideUp('medium'); 
}); 
+0

Спасибо , Я закончил использование clearQueue() –

1

Вы должны были бы показать нам свой HTML, чтобы знать наверняка, что происходит, но если акт сползания меню вызывает мышь больше не будет более div, то он автоматически отключится и запустит меню, а затем, когда он закроется, он снова навешивается и будет циклически перемещаться вперед и назад для некоторых позиций мыши.

Выход из этого может состоять в том, чтобы изменить HTML-код, поэтому отключение меню не перекрывается с положением мыши, которое заставляет его сходить или использовать другой механизм для закрытия меню, отличного от де-зависания на вашем дела.

Чтобы решить проблему с быстро зависаний и dehovering мышей (хотя это не звучит это вопрос вы описали), то вы должны также использовать .stop(true) отменить предыдущие анимации, как это:

$('ul.list_menu').stop(true).slideDown('medium'); 
Смежные вопросы