如何为 div 背景的不透明度设置动画?

Posted

技术标签:

【中文标题】如何为 div 背景的不透明度设置动画?【英文标题】:How can I animate the opacity of the background of a div? 【发布时间】:2013-04-21 17:16:57 【问题描述】:

我有一个不透明度为 0 的背景的 div #test,我想对其进行动画处理,直到不透明度达到 0.7。但是 .animate 似乎不适用于 css rgba。

我的 CSS 是:

#test 
    background-color: rgba(0, 0, 0, 0);

我的html

<div id="test">
    <p>Some text</p>
    <img src="http://davidrhysthomas.co.uk/img/dexter.png" />
</div>

还有我的 jQuery:

$('#test').animate( background-color: rgba(0, 0, 0, 0.7) ,1000);

这里有一个 jsFiddle:http://jsfiddle.net/malamine_kebe/7twXW/10/

非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

首先你需要正确设置属性

$('#test').animate( 'background-color': 'rgba(0, 0, 0, 0.7)' ,1000);

那么你需要包含 jquery-ui 来为颜色设置动画。

http://jsfiddle.net/7twXW/11/

您还可以使用 css 过渡来为背景颜色设置动画

#test 
    background-color: rgba(0, 0, 0, 0);
    -webkit-transition:background-color 1s;
    -moz-transition:background-color 1s;
    transition:background-color 1s;

http://jsfiddle.net/7twXW/13/

【讨论】:

【参考方案2】:

使用动画功能时,不要使用背景颜色,而是使用背景颜色。所以这是工作代码:

$('#test').animate( backgroundColor: "rgba(0,0,0,0.7)" );

【讨论】:

以上是关于如何为 div 背景的不透明度设置动画?的主要内容,如果未能解决你的问题,请参考以下文章

如何为背景图像的更改设置动画?

安卓 编程如何为一个图片加上透明度和平移两个动画

如何使用 jQuery 为元素的背景不透明度设置动画?

CSS - 低不透明度div上的不透明文本?

在 jQuery 中,如何为“最大高度”CSS 属性设置动画?

如何在不影响内容不透明度(悬停时)的情况下为背景不透明度设置动画?