Состояние наведения jQuery — оценка задержки

#jquery #hover

#jquery #наведение

Вопрос:

Я пытаюсь найти способ либо отложить оценку наведения, либо альтернативное решение для следующего:

У меня есть элементы с динамически генерируемыми именами классов. Объекты с тем же классом остаются непрозрачными при наведении курсора мыши, остальные изменяют непрозрачность. Я создал пример здесь:http://jsfiddle.net/g7JeQ /.

Проблема в том, что как только мышь переходит от одного элемента к следующему, непрозрачность остальных мгновенно восстанавливается, вызывая эффект мигания. (т. е. 1,2,3 имеют один и тот же класс и 4,5,6 имеют одинаковый. Я хочу устранить это мигание при наведении курсора мыши на элементы одного класса)

Если бы кто-нибудь мог мне помочь, я был бы очень благодарен.

Ответ №1:

Вам нужно остановить предыдущую анимацию с помощью stop() :

 $('span').hover(function() {
    var theClass = $(this).attr('class');
    $('span:not(.'   theClass   ')').stop().animate({'opacity': 0.2}, 100);
}, function() {
    $('span').stop().animate({'opacity': 1}, 100); //restore all spans to 100% opacity
});
  

http://jsfiddle.net/g7JeQ/1/

Ответ №2:

Добавьте .stop() перед каждым .animate()

http://jsfiddle.net/g7JeQ/2/

Комментарии:

1. Также спасибо, как раз то, что мне было нужно.