Анимированная прозрачность при наведении (jQuery) - PullRequest
10 голосов
/ 24 января 2010

У нас есть ссылка:

<a href="#">
    Some text
    <span style="width: 50px; height: 50px; background: url(image.png); overflow: hidden; opacity: 0;"></span>
</a>

И мы хотим изменить непрозрачность <span> с помощью анимации при наведении ссылки.

Как бы мы это сделали?

Ответы [ 3 ]

46 голосов
/ 24 января 2010

Другое возможное решение:

$("a span").hover(function(){
    $(this).stop().animate({"opacity": 1});
},function(){
    $(this).stop().animate({"opacity": 0});
});

Если вы используете fadeOut (), диапазон разрушится, таким образом, он не будет

EDIT

Это намного лучше:

$('a:has(span)').hover(function() { 
    $('span', this).stop().animate({"opacity": 1}); 
},function() { 
    $('span', this).stop().animate({"opacity": 0}); 
});
9 голосов
/ 24 января 2010

Как это:

$('a:has(span)').hover(
    function() { $('span', this).fadeIn(); },
    function() { $('span', this).fadeOut(); }
);
3 голосов
/ 13 октября 2014

Использование .fadeTo () :

$( 'a' ).hover(
    function() { $( this ).fadeTo( 'fast', '1'); },
    function() { $( this ).fadeTo( 'fast', '.4'); }
);

Демонстрация: см. скрипка

...