jQuery Animate()和BackgroundColor

fan*_*ngo 7 javascript css jquery

我正在尝试通过使用JQuery更改背景颜色来创建简单的脉冲效果.但是,我无法将backgroundColor设置为动画.

function show_user(dnid) {
    /* dnid is HTML ID of a div. */
    if (! $(dnid).is(':visible')) {
        $(dnid).show()
    }
    $('html, body').animate({scrollTop: $(dnid).offset().top});
    $(dnid).animate({backgroundColor: "#db1a35"}, 1200);
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这个替代动画有效:

$(dnid).animate({opacity: "toggle"}, 1200);
Run Code Online (Sandbox Code Playgroud)

但这根本不是我想要的.

此外,函数中的show()和滚动功能正常工作.这只是背景颜色动画.

上面的函数由此链接调用 <a href="#" onclick="javascript:show_user('#9e4cde88b90004ea722e9e129ed83747')">Locate Me</a>

有人可以帮助我设置背景颜色的动画吗?

=========

谢谢大家的帮助.很多类似的答案.这就是我最终的结果

在我的标题中

<script src="http://code.jquery.com/color/jquery.color-2.1.2.min.js"></script>

然后在我的show_user函数之后滚动动画.

var bgcol = $(dnid).css('backgroundColor');
$(dnid).animate({backgroundColor: "#db1a35"}, 2000);
$(dnid).animate({backgroundColor: bgcol}, 2000);
Run Code Online (Sandbox Code Playgroud)

这会产生一个相对快速的红色"脉冲",吸引用户的眼睛.

再一次感谢你的帮助.

Nat*_*iel 16

jQuery默认不能为颜色设置动画.为了动画颜色,请使用官方的jQuery.Color插件.

除非如下所述,否则应将所有动画属性设置为单个数值.大多数非数字属性无法使用基本jQuery功能进行动画处理(例如,宽度,高度或左边可以设置动画,但背景颜色不能,除非使用jQuery.Color()插件).

资源