jQuery animate() 方法


jQuery animate() 方法


实例

通过改变元素的高度,对元素应用动画:

$("button").click(function(){ $("#box").animate({height:"300px"}); });

试一试

定义和用法

animate() 方法执行 CSS 属性集的自定义动画。

该方法通过 CSS 样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。

只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。

提示: 请使用 "+=" 或 "-=" 来创建相对动画。

语法

( _selector_ ).animate( _{styles},speed,easing,callback_ )
参数 描述
_styles_ 必需。规定产生动画效果的一个或多个 CSS 属性/值。 **注意:** 当与 animate() 方法一起使用时,该属性名称必须是驼峰写法: 您必须使用 paddingLeft 代替 padding- left,marginRight 代替 margin-right,依此类推。 可以应用动画的属性: * [backgroundPositionX](/try/jquery/tryjquery_eff_ani_backgroundpositionxy) * [backgroundPositionY](/try/jquery/tryjquery_eff_ani_backgroundpositionxy) * [borderWidth](/try/jquery/tryjquery_eff_ani_borderwidth) * [borderBottomWidth](/try/jquery/tryjquery_eff_ani_borderbottomwidth) * [borderLeftWidth](/try/jquery/tryjquery_eff_ani_borderleftwidth) * [borderRightWidth](/try/jquery/tryjquery_eff_ani_borderrightwidth) * [borderTopWidth](/try/jquery/tryjquery_eff_ani_bordertopwidth) * [borderSpacing](/try/jquery/tryjquery_eff_ani_borderspacing) * [margin](/try/jquery/tryjquery_eff_ani_margin) * [marginBottom](/try/jquery/tryjquery_eff_ani_marginbottom) * [marginLeft](/try/jquery/tryjquery_eff_ani_marginleft) * [marginRight](/try/jquery/tryjquery_eff_ani_marginright) * [marginTop](/try/jquery/tryjquery_eff_ani_margintop) * [outlineWidth](/try/jquery/tryjquery_eff_ani_outlinewidth) * [padding](/try/jquery/tryjquery_eff_ani_padding) * [paddingBottom](/try/jquery/tryjquery_eff_ani_paddingbottom) * [paddingLeft](/try/jquery/tryjquery_eff_ani_paddingleft) * [paddingRight](/try/jquery/tryjquery_eff_ani_paddingright) * [paddingTop](/try/jquery/tryjquery_eff_ani_paddingtop) * [height](/try/jquery/tryjquery_eff_ani_height) * [width](/try/jquery/tryjquery_eff_ani_width) * [maxHeight](/try/jquery/tryjquery_eff_ani_maxheight) * [maxWidth](/try/jquery/tryjquery_eff_ani_maxwidth) * [minHeight](/try/jquery/tryjquery_eff_ani_minheight) * [minWidth](/try/jquery/tryjquery_eff_ani_minwidth) * [fontSize](/try/jquery/tryjquery_eff_ani_fontsize) * [bottom](/try/jquery/tryjquery_eff_ani_bottom) * [left](/try/jquery/tryjquery_eff_ani_left) * [right](/try/jquery/tryjquery_eff_ani_right) * [top](/try/jquery/tryjquery_eff_ani_top) * [letterSpacing](/try/jquery/tryjquery_eff_ani_letterspacing) * [wordSpacing](/try/jquery/tryjquery_eff_ani_wordspacing) * [lineHeight](/try/jquery/tryjquery_eff_ani_lineheight) * [textIndent](/try/jquery/tryjquery_eff_ani_textindent) **提示:** 颜色动画不包含在核心 jQuery 库中。如果您想要应用动画颜色,您需要从 jQuery.com 下载 [颜色动画插件](http://plugins.jquery.com/project/color)。
_speed_ 可选。规定动画的速度。 可能的值: * 毫秒 * "slow" * "fast"
_easing_ 可选。规定在动画的不同点中元素的速度。默认值是 "swing"。 可能的值: * "swing" - 在开头/结尾移动慢,在中间移动快 * "linear" - 匀速移动 **提示:** 扩展插件中提供更多可用的 easing 函数。
_callback_ 可选。animate 函数执行完之后,要执行的函数。 如需学习更多有关 callback 的内容,请访问我们的 [jQuery Callback](jquery-callback.html) 这一章。

Alternate 语法

( _selector_ ).animate( _{styles},{options}_ )
参数 描述
_styles_ 必需。规定产生动画效果的一个或多个 CSS 属性/值(同上)。
_options_ 可选。规定动画的额外选项。 可能的值: * speed - 设置动画的速度 * easing - 规定要使用的 easing 函数 * callback - 规定动画完成之后要执行的函数 * step - 规定动画的每一步完成之后要执行的函数 * queue - 布尔值。指示是否在效果队列中放置动画。如果为 false,则动画将立即开始。 * specialEasing - 来自 _styles_ 参数的一个或多个 CSS 属性的映射,以及它们的对应 easing 函数

尝试一下 - 实例

使用带有回调函数的 animate()
如何使用带有回调函数的 animate() 来重复动画。