我想将“exampleDiv”的背景颜色从原来的白色背景更改为当我调用下面的代码立即将背景更改为黄色然后淡化回原来的白色背景时。
$("#exampleDiv").animate({ backgroundColor: "yellow" }, "fast");
但是,此代码不起作用。
我只有 JQuery 核心和 JQuery UI 链接到我的网页。
为什么上面的代码不起作用?
最佳答案
我在 animate
方面取得了不同程度的成功,但发现使用其内置回调加上 jQuery 的 css
似乎适用于大多数情况。
试试这个函数:
$(document).ready(function () {
$.fn.animateHighlight = function (highlightColor, duration) {
var highlightBg = highlightColor || "#FFFF9C";
var animateMs = duration || "fast"; // edit is here
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);
});
};
});
然后这样调用它:
$('#exampleDiv').animateHighlight();
在 IE9、FF4 和 Chrome 中测试,使用 jQuery 1.5(不需要 UI 插件)。我也没有使用 jQuery 颜色插件 - 如果您想使用命名颜色(例如 'yellow'
而不是 '#FFFF9C'
),您只需要它。
关于javascript - JQuery 背景颜色动画不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694295/