JQuery - Hover много раз ломает JavaScript? - PullRequest
1 голос
/ 14 ноября 2010

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

$('div.slideshowImage').hover(function() {
$('div.slideshowImageText').stop().fadeIn('500');
},
function() {
$('div.slideshowImageText').fadeOut('500');
});

1 Ответ

4 голосов
/ 14 ноября 2010

Вам также необходимо очистить очередь, например:

$('div.slideshowImage').hover(function() {
  $('div.slideshowImageText').stop(true).fadeIn('500');
}, function() {
  $('div.slideshowImageText').fadeOut('500');
});

Первый параметр .stop() указывает, следует ли очищать очередь или нет ... в настоящее время вы останавливаете анимацию, но повторные зависания будут ставить в очередь конкурирующие анимации, затягивающие ваши фейды ... если вы не хотите, чтобы очередь выполнялась позже, очистите ее, иначе она будет мешать, как здесь.

...