jQuery - анимировать от прозрачного до цветного без белой вспышки? - PullRequest
3 голосов
/ 30 мая 2011

Мне нужно анимировать от прозрачного до цветного, но когда я делаю, я получаю белую вспышку.Я предполагаю, что это потому, что нет базового цвета для анимации.Как мне обойти это?

$('#nav a').hover(function() {
    $(this).animate({
        'background-color' : $(this).attr('data-background'),
        'color' : $(this).attr('data-rollover')
    }, 900);
});

<a style="color:#ffff00; " data-background="#000066" data-color="#ffff00" data-rollover="#000000" href="index.php?p=1" ><span >Home</span></a>

Ответы [ 2 ]

5 голосов
/ 30 мая 2011

Анимируйте opacity вместо свойства background-color.

1 голос
/ 30 мая 2011

Алекс прав. Вы должны сделать это с opacity. Вы можете попробовать это:

$('#nav a').hover(function() {
    $(this).animate({
        'opacity': 0
    },
    1,
    function() {
        $(this).css({
            'background-color': $(this).attr('data-rollover'),
            'color': $(this).attr('data-color')
        }).animate({
            'opacity': 1
        },
        900);
    });
});
...