Вы можете попробовать анимировать непрозрачность рассматриваемого объекта, используя jQuery.
Мой алгоритм выглядит примерно так:
1) анимировать непрозрачность до некоторого значения, которое делает его более прозрачным
2) в разделе обратного вызова измените фоновое изображение, используя css({key:value})
3) оживить непрозрачность до исходного значения
$('.your-base-object').hover(function(){
$(this).animate({opacity: '0.9'}, 300, function(){
$(this).css({
background: "url('path/to/your-image')"
});
$(this).animate({
opacity: "1.0"
}, 300);
})
}, function(){
$(this).animate({opacity: '0.9'}, 300, function(){
$(this).css({
background: "url('path/to/your-image')"
});
$(this).animate({
opacity: "1.0"
}, 300);
})
});