jQuery提供animate()方法来创建动画。
animate()方法动画原理:改变CSS属性来影响元素行为。目前仅仅能修改属性值为数值的属性,如height weight font-size等,属性值为字符串的属性不能改。
更重要的是:在animate()方法中,属性名采用caml命令,不能使用-,如border-bottom,要写成borderBottom,将中间的-去掉,第二个单词首字母大写。
语法形式:
1
2
3
|
animate({ // 要改变的CSS
}[,speed][,easing][,complete]); |
animate()的参数有几部分,CCS部分,用花括号括起来。在花括号后面还有3个可选参数。
speed参数表示动画持续时间,单位是毫秒。1秒=1000毫秒。
easing参数,可以选择两个,一个是linear,表示动画速度是线性的,另一个是swing,表示动画过程快,开始和结尾慢。
complete参数,表示动画结束时需要调用的函数——回调函数。事件本质是函数,是回调函数。
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<!DOCTYPE html> < html >
< head >
< meta charset = "UTF-8" >
< title >CSS动画</ title >
</ script >
< style >
li{
max-width: 200px;
color: #fff;
}
</ style >
</ head >
< body >
< div >
< ul id = "ul" >
< li id = "a" >鼠标</ li >
< li id = "b" >键盘</ li >
< li id = "c" >屏幕</ li >
< li id = "d" >< a >主机</ a ></ li >
</ ul >
</ div >
< script >
$(function () {
var $li=$("li");
// 淡入
$li.hide().each(function(index){
$(this).delay(650*index).fadeIn(700);
});
// CSS 动画
$li.on("click",function(){
// $(this).fadeOut(700);
$(this).animate({
opcity:0.0,
paddingLeft:'+=80'
},500,function(){
$(this).remove();
});
});
});
</ script >
</ body >
</ html >
|