2009-04-30 2 views
6

Существует ссылка, без фона, и правило css, которое меняет фон при наведении.JQuery исчезают фон на зависании?

Родитель bg белый, ссылка на зависание - синий.

Как я могу сделать эффект зависания медленно, от белого до синего?

Спасибо.

li a {} 
li a:hover { background: blue; } 

ответ

11
jQuery('a#theLink').hover(function(){ 
    $(this).stop().animate({backgroundColor: 'blue'}); 
}, function() { 
    $(this).stop().animate({backgroundColor: 'white'}); 
}); 

Для этого, чтобы работать вам нужно скачать "color plugin" для JQuery.

1

Вам необходимо использовать плагин, поскольку JQuery не может анимировать цвета из коробки.

Попробуйте Colour Animation plugin

Тогда это будет что-то вроде:

$(this).animate({ backgroundColor: "blue" }, 'slow'); 
+0

Эти ссылки не идут куда угодно, только веб-сайт, он JQuery. То же, что и в ответе Джеймса. – 2014-03-04 13:50:20

+0

Ответ почти 5 лет, поэтому ссылка должна была перемещаться, однако теперь вы можете анимировать цвета с использованием пользовательского интерфейса JQuery: http://jqueryui.com/animate/ – Fermin

7

Вам не нужен дополнительный цвет плагин. Вам просто нужен jQuery UI поверх jQuery, который позволяет делать анимацию также по цвету. (Или если вы не хотите использовать jQuery UI по какой-то причине, я думаю, что другой плагин будет делать трюк. Но я успешно пробовал это, просто включив ядро ​​jQuery и пользовательский интерфейс jQuery.)

Анимация сама по себе похожа ...

$("li").hover(function() { 
    $(this).animate({ 
    backgroundColor: "#ffffff" 
    }, 'slow'); 
}); 
+1

Я знаю, что размеры файлов не слишком важны. дней на уровне килобайт (хотя материал действительно складывается), но только для записи: jquery.color.js - 4k | jQuery-ui-1.8rc3.custom.min.js - 64k –

+4

Ссылаясь на очевидное, поскольку ни у кого другого нет, если вы уже используете jQuery UI, вам хорошо идти. Если вы не используете jQuery UI, тогда не начинайте использовать его только для этой функции - используйте плагин цвета. – MikeJ

+0

Возможно, это было правдой при публикации, но на данный момент ... «Например, ширина, высота или слева могут быть анимированы, но фоновый цвет не может быть, если не используется плагин jQuery.Color()» http: // api.jquery.com/animate/ – tomfumb

Смежные вопросы