首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颜色/背景色- jQuery中的颜色变化动画

问颜色/背景色- jQuery中的颜色变化动画
EN

Stack Overflow用户
提问于 2015-05-28 15:27:02
回答 2查看 1.2K关注 0票数 2

我试图在jQuery中做颜色变化的动画。但失败了。

JS Bin

代码语言:javascript
复制
$("#circle").click(function(){
    $(this).animate({
        backgroundColor: "#eee",
        width:"300px",
        height: "300px",
        borderRadius: "150px",
        }, 2000);
});

我知道Stack溢出有一个类似的答案,但这是几年前的事了。因此,我再次要求对这个问题提出新的可能的答案。:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-28 15:31:13

您需要使用jQuery UI和jQuery,因为jQuery本身并不支持彩色动画。

jQuery UI

JS Bin

票数 3
EN

Stack Overflow用户

发布于 2015-05-28 17:26:35

香草Javascript和CSS动画

你可以用css动画来做这件事。但是,它不会在不支持CSS动画的旧浏览器上被动画化,这可能是一件好事。

根据我的经验,使用不支持动画的浏览器的计算机通常速度太慢,以致动画会损害用户体验,因此我建议采用这种方法。

同样,CSS动画比jQuery动画更流畅,开销更小。

不需要外部库,甚至jQuery也不需要

​

代码语言:javascript
复制
(function () {
    "use strict";
    document.getElementById("circle").onclick = function () {
        if (this.className.indexOf('clicked') < 0) this.className += ' clicked';
        else this.className = this.className.replace(/ clicked/g, '');
    };
})();
代码语言:javascript
复制
#circle {
    width: 100px;
    height: 100px;
    background: red;
    transition: all .4s linear;
}
#circle.clicked {
    background: #eee;
    width: 300px;
    height: 300px;
    border-radius: 50%;
}
代码语言:javascript
复制
<div id="circle"></div>

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30510880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档