jQuery UI 特效核心添加了使用 rgb()
、rgba()
、十六进制值或者颜色名比如"aqua"
来动态改变 color 属性的功能。只需要包含 jQuery UI 特效核心文件,.animate()
就会支持颜色。
支持下列属性:
backgroundColor
borderBottomColor
borderLeftColor
borderRightColor
borderTopColor
color
columnRuleColor
outlineColor
textDecorationColor
textEmphasisColor
对颜色动画的支持来自 jQuery Color 插件。Color 插件提供了一些用于颜色的函数。如需查看完整文档,请访问 jQuery Color 文档。
虽然可以直接对 color 属性进行动画化,但是通常采用另一种更好的方法,即在一个 class 中包含样式。jQuery UI 提供了一些动态添加或去除 CSS 类的方法,分别是 .addClass()
、.removeClass()
、 .toggleClass()
和 .switchClass()
。这些方法将自动确定哪些属性需要改变,哪些需要应用适当的动画。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>颜色动画(Color Animation)演示</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<style>
#elem {
color: #006;
background-color: #aaa;
font-size: 25px;
padding: 1em;
text-align: center;
}
</style>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>
<div id="elem">颜色动画</div>
<button id="toggle">改变颜色</button>
<script>
$( "#toggle" ).click(function() {
$( "#elem" ).animate({
color: "green",
backgroundColor: "rgb( 20, 20, 20 )"
});
});
</script>
</body>
</html>