Да, вызовы обработчика событий помещаются в очередь.Это, конечно, не ошибка.
В вашем обратном вызове вы можете использовать stop()
, чтобы остановить любую текущую анимацию.Обязательно передайте true
в качестве первого аргумента, чтобы также отменить поставленные в очередь, и true
в качестве второго аргумента, чтобы остановить текущую анимацию немедленно , оставляя ее с целевыми свойствами.
$('.boxHolder3').hover(function() {
$('img.top3').stop(true, true).fadeOut(400);
},
function() {
$('img.top3').stop(true, true).fadeIn(400);
});
Вы не станете более «эффективными», хотя, возможно, сможете уменьшить дублирование кода с помощью хитрого использования переменных.