Попробуйте это:
$('#something').animate({ backgroundColor: "#FF0000" }, 1000, null, function () {
$('#something').css("backgroundColor", "#FF0000");
});
У меня был разный успех с animate, но я обнаружил, что использование встроенного обратного вызова плюс jQuery css, похоже, работает в большинстве случаев. Протестировано в IE9, FF4, Chrome, с использованием jQuery 1.5.
Для более полного решения, добавьте этот плагин:
$(document).ready(function () {
$.fn.animateHighlight = function (highlightColor, duration) {
var highlightBg = highlightColor || "#FF0000";
var animateMs = duration || 1000;
var originalBg = this.css("background-color");
if (!originalBg || originalBg == highlightBg)
originalBg = "#FFFFFF"; // default to white
jQuery(this)
.css("backgroundColor", highlightBg)
.animate({ backgroundColor: originalBg }, animateMs, null, function () {
jQuery(this).css("backgroundColor", originalBg);
});
};
});
и назовите это так:
$('#something').animateHighlight();