Я пытаюсь анимировать изменение в backgroundColor с помощью jQuery при наведении курсора.
Я проверил некоторый пример, и я, кажется, правильно, он работает с другими свойствами, такими как fontSize, но с backgroundColor я получаю и "Invalid Property" js error. Элемент, с которым я работаю - это div.
$(".usercontent").mouseover(function() {
$(this).animate({ backgroundColor: "olive" }, "slow");
});
Любые идеи?
javascript
jquery
colors
jquery-animate
SteveCl
источник
источник
rgba(0, 0, 0, 0)
вместо ожидаемого пустого / нулевого значения, если не задан цвет фона. Чтобы это исправить, элемент должен иметь исходный цвет фона.Ответы:
Цветовой плагин всего на 4 Кбайт намного дешевле, чем библиотека пользовательского интерфейса. Конечно, вы захотите использовать достойную версию плагина, а не какую-нибудь глючную старую штуку, которая не обрабатывает Safari и вылетает, когда переходы слишком быстрые. Поскольку минимизированная версия не поставляется, вы можете протестировать различные компрессоры и создать свою собственную минимальную версию. YUI получает лучшее сжатие в этом случае, требующее всего 2317 байт, и, поскольку оно настолько мало, вот оно:
источник
v1
ветку, чтобы получить старую версию (которая все еще работает), но гораздо легче.У меня была та же проблема, и я исправил ее, включив jQuery UI. Вот полный сценарий:
источник
Сделайте это с помощью CSS3-переходов. Поддержка отличная (все современные браузеры, даже IE). С помощью Compass и SASS это быстро делается:
Чистый CSS:
Я написал немецкую статью на эту тему: http://www.solife.cc/blog/animation-farben-css3-transition.html
источник
Bitstorm имеет лучший плагин jquery color animation, который я когда-либо видел Это улучшение цветового проекта jquery. Он также поддерживает RGBA.
http://www.bitstorm.org/jquery/color-animation/
источник
Вы можете использовать jQuery UI для добавления этой функциональности. Вы можете получить только то, что вам нужно, поэтому, если вы хотите анимировать цвет, все, что вам нужно включить, это следующий код. Я получил, если из последнего пользовательского интерфейса jQuery (в настоящее время 1.8.14)
Это всего 1.43kb после сжатия с YUI:
Вы также можете анимировать цвета, используя CSS3 переходы, но это поддерживается только современными браузерами.
Использование сокращенного свойства:
В отличие от обычных переходов javascript, переходы CSS3 аппаратно ускоряются и, следовательно, более плавные. Вы можете использовать Modernizr, чтобы узнать, поддерживает ли браузер переходы CSS3, если нет, то вы можете использовать jQuery в качестве запасного варианта:
Не забудьте использовать stop (), чтобы остановить текущую анимацию перед запуском новой, в противном случае, если вы слишком быстро пропустите элемент, эффект будет мигать некоторое время.
источник
Для тех, кто нашел это. Вам лучше использовать версию jQuery UI, потому что она работает во всех браузерах. Плагин цвета имеет проблемы с Safari и Chrome. Это работает только иногда.
источник
Вы можете использовать 2 деления:
Вы можете поместить клона поверх него и затемнить оригинал, одновременно добавляя клон.
Когда затухание закончено, восстановите оригинал с новым bg.
Пример jsFiddle
.toggleClass()
.offset()
.fadeIn()
.fadeOut()
источник
Я использовал комбинацию CSS-переходов с JQuery для желаемого эффекта; Очевидно, что браузеры, которые не поддерживают переходы CSS, не будут анимироваться, но его облегченная опция, которая хорошо работает для большинства браузеров и для моих требований, является приемлемым ухудшением.
Jquery для изменения цвета фона:
CSS с использованием перехода к исчезновению изменения цвета фона
источник
В настоящее время плагин цвета jQuery поддерживает следующие именованные цвета:
источник
Мне нравится использовать delay (), чтобы сделать это, вот пример:
Это может быть вызвано функцией, где "element" - это элемент class / name / etc. Элемент мгновенно появится с фоном # FCFCD8, удерживайте в течение секунды, а затем исчезнет в #EFEAEA.
источник
Просто добавьте следующий фрагмент ниже вашего скрипта jquery и наслаждайтесь:
Смотри пример
Ссылка для получения дополнительной информации
источник
Я наткнулся на эту страницу с той же проблемой, но со следующими проблемами:
С учетом вышесказанного, в значительной степени исключается каждый ответ. Учитывая, что мое увлечение цветом было очень простым, я использовал вместо этого следующий быстрый взлом:
Выше создается временный div, который никогда не помещается в поток документов. Затем я использую встроенную анимацию jQuery для анимации числового свойства этого элемента - в данном случае
width
- которое может представлять процент (от 0 до 100). Затем, используя функцию шага, я переношу эту числовую анимацию в цвет текста с простой шестнадцатеричной окантовкой.То же самое можно было бы достичь с помощью
setInterval
, но с помощью этого метода вы можете извлечь выгоду из методов анимации jQuery - например.stop()
- и вы можете использоватьeasing
иduration
.Очевидно, что он используется только для простых затуханий цветов, для более сложных преобразований цветов вам нужно будет использовать один из приведенных выше ответов - или написать свою собственную математику затухания цветов :)
источник
Попробуй это:
Вы можете просмотреть пример здесь: http://jquerydemo.com/demo/jquery-animate-background-color.aspx
источник
Плагин ColorBlend делает именно то, что вы хотите
http://plugins.jquery.com/project/colorBlend
Вот мой основной код
источник
Если вы не хотите анимировать свой фон, используя только основные функции jQuery, попробуйте это:
источник
Попробуйте использовать это
источник
Попробуй это:
Пересмотренный способ с эффектами:
источник