Производительность jQuery fadeTo () для многих элементов - PullRequest
1 голос
/ 05 марта 2012

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

Вот какделаю это (очень просто)

$('img').on('hover', function(){
    $(this).stop().fadeTo(100,1);
    $('img').not($(this)).stop().fadeTo(100,.5);
});

У кого-нибудь есть хорошая оптимизация или лучший способ сделать это в первую очередь?

Пожалуйста, не надоскажем «просто используйте CSS», это уже запасной вариант.

1 Ответ

2 голосов
/ 05 марта 2012

Попробуйте, чтобы увидеть, улучшается ли производительность:

$('img').on('mouseenter', function(){     
    $(this).fadeTo(100, 0.5);
}).on('mouseleave', function(){     
    $(this).stop(true).fadeTo(100, 1);
});

jsFiddle здесь: http://jsfiddle.net/26w5q/

Кажется, работает нормально.

...