2017-01-22 11 views
0

Я не могу найти решение для этой проблемы, которую я имею. Что происходит, так это то, что когда я запускаю mouseleave, а затем пытаюсь вызвать mouseover в течение времени набора mouseleave в fadeOut(), наведение мыши не запускается. Есть ли способ исправить это, или я должен использовать что-то в функции анимации jquery?JQuery mouseleave и затем mouseover в пределах fadeOut, установленного в mouseleave

$("#homepage-slider").on({ 
    mouseover: function() { 
     $(".direction-next").fadeTo(500, .7); 
     $(".direction-previous").fadeTo(500, .7); 
    }, 
    mouseleave: function() { 
     $(".direction-next").fadeOut(500); 
     $(".direction-previous").fadeOut(500); 
    } 
}); 

ответ

1

В вашем случае, вам необходимо stop анимацию, а затем clear the queuejump to the end.

Как вы можете это сделать? Используя jQuery's .stop(true,true).

$("#homepage-slider").on({ 
    mouseover: function() { 
     $(".direction-next").stop(true, true).fadeTo(500, .7); 
     $(".direction-previous").stop(true, true).fadeTo(500, .7); 
    }, 
    mouseleave: function() { 
     $(".direction-next").fadeOut(500); 
     $(".direction-previous").fadeOut(500); 
    } 
}); 

obligatory jsFiddle