Ответ 1
1) Вы меняете свой css на
div {
width: 100px;
height: 100px;
background: red;
transition: background 0.5s ease-in-out;
}
div:hover {
background: green;
}
установка перехода к элементу, а не псевдокласс.
2)
С jQuery вам понадобятся два элемента для перекрестного затухания или плагин цветной анимации. Пользовательский интерфейс jQuery имеет встроенную цветную анимацию, а затем вы можете:
$('div').on({
mouseenter: function() {
$(this).animate({backgroundColor: 'green'},1000)
},
mouseleave: function() {
$(this).animate({backgroundColor: 'red'},1000)
}
});
Если вы еще не используете jQuery UI для чего-то другого, я бы предложил использовать один из гораздо меньших плагинов, например этот!!