javascript - JQuery 背景颜色动画不起作用

标签 javascript jquery jquery-animate

我想将“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/

相关文章:

javascript - 无法将 CSS 和 JavaScript 链接到 HTML

javascript - 对象中定义的函数中的默认参数

javascript - React-Native 获取 XML 数据

javascript - one 如何用 JS 跟踪访问者的去向?

jquery - 如何使用JQuery在下拉列表中选择默认值

jQuery 动画对象看起来像漂浮在水中

javascript - 改变被点击的元素并保存在cookies中

jquery - 关于 Chrome 和 IE 中 .draggable 的两个问题

javascript - 将列表向上/向下滚动到一个 div

jquery - 在多个 div 上使用多个 .animate 函数更改字体颜色