首页 > 代码库 > 解析jQuery效果函数animate()
解析jQuery效果函数animate()
1、参数说明:
animate(params,[speed],[easing],[fn])
params:一组包含作为动画属性和终值的样式属性和及其值的集合<br/>
speed:三种预定速度之一的字符串("slow"600ms,"normal"400ms, or "fast"200ms)或表示动画时长的毫秒数值(如:1000)<br/>
easing:要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".<br/>
fn:在动画完成时执行的函数,每个元素执行一次。<br/>
2、注意点:
1、通过在属性值前面指定 "<em>+=</em>" 或 "<em>-=</em>" 来让元素做相对运动。如:left:"-50px",表示相对位置左移动50px;
应该设置目标对象的position:relative这个属性值,否则无效.
2、所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left.
3、所有的可创建动画效果的属性必须是一个单一的数值,例如 宽度(width)、高度(height)、左边距(left)、透明度(opacity)等,
但是不能是background-color。
注:要实现颜色的动画效果,必须使用 jQuery.Color() 插件。除非特殊声明,否则这些属性的单位都按照像素处理,可以使用的其他单位还包括 em 和 % 百分比。
4、opacity:"show"表示1或"hide"表示0或"0.4等小数"
3、示例代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>演示自定义animate方法效果</title>
<script src="http://www.mamicode.com/jQuery/jquery-3.1.0.min.js"></script>
<script>
$(function(){
$("#idleft").click(function(){
$("#idsection").animate({left:"+200px"},"slow"); //在相对位置上向右频移
})
$("#idheight").click(function(){
$("#idsection").animate({marginLeft:+200,height:200,width:200,borderWidth:50,fontSize:50,opacity:0.3},1000);//长度默认为像素单位
})
})
</script>
</head>
<body>
<h2>演示自定义animate方法效果</h2>
<input type="button" value="http://www.mamicode.com/height" id="idheight">
<input type="button" value="http://www.mamicode.com/left" id="idleft">
<section style="width:50px;height:50px;background-color:#999;position:relative" id="idsection">演示</section>
</body>
</html>
解析jQuery效果函数animate()