TweenMax动画库学习(一)

目录:

TweenMax动画库学习(一)

      TweenMax动画库学习(二)

之前在做HTML5移动端开发的时候,用的都是Animate.css,这个插件封装的的确很好,但是在做一些缓动方面的动画,它也有一定的不足之处,比如手要写一个连续的动画,需要不停的去重复写函数,使得代码严重的冗余,再比如要获取动画执行的时间,就比较的麻烦等等。而TweenMax恰恰可以解决这方面的不足。于是我花了3天的时间,认真的学习了TweenMax动画库的用法,现在将个人的学习总结如下,若有不正确的地方,欢迎读者给与批评指正!

TweenMax动画库的官方网址: http://greensock.com/timelinemax

     下面我们直奔主题,开始介绍TweenMax动画库:

1、如何引用TweenMax动画库

   TweenMax动画库依赖jQuery

1  <script src="./../js/jquery-2.1.4.min.js"></script>
2  <script src="./../js/TweenMax.js"></script>  

2、得到动画的示例  

1 <script>
2         $(function () {
3             var t = new TimelineMax();
4         });
5 </script>

  3、to():添加动画

    参数说明: 

t.to("元素选择器或对象",持续时间,对象,【可选】动画延迟发生时间可写数字,"-=0.5","+=0.5")

1. 元素选择器或对象

2. 持续时间

3. 对象

变化的属性->值

4. 【可选】动画延迟发生时间

            可写数字,“-=0.5”,“+=0.5“

  页面简单布局 

 1   <style>
 2         html,body{
 3             margin: 0;
 4             padding: 0;
 5         }
 6         #div1{
 7             width:100px;
 8             height:100px;
 9             background: #8D121A;
10             position: absolute;
11             left:0;
12             top:100px;
13         }
14     </style>
1 <body>
2 <div id="div1"></div>
3 </body>  

执行单个动画   

1 <script>
2         $(function(){
3             var t =new TimelineMax();
4             t.to("#div1",1,{left:300},1);
5         });
6  </script>

执行组合动画

1  <script>
2         $(function(){
3             var t =new TimelineMax();
4             t.to("#div1",1,{left:300,width:300},1);
5         });
6  </script> 

执行队列动画,列表中的动画会依次执行

1 <script>
2     t.to("#div1", 1, { left: 300 });
3     t.to("#div1", 1, { width: 300 });
4     t.to("#div1", 1, { height: 300 });
5     t.to("#div1", 1, { top: 300 });
6     t.to("#div1", 1, { rotationZ: 180 });
7     t.to("#div1", 1, { opacity: 0 });
8 </script>

 添加第四个参数 设置动画的延迟时间

1 <script>
2     //动画延迟一秒执行
3     t.to("#div1", 1, { left: 300, width: 300 }, 1);
4     //第二条动画没有延迟时间,所以等第一条动画执行完成后立刻执行第二条动画
5     t.to("#div1", 1, { width: 300 });
6 </script>
1 <script>
2     //动画延迟一秒执行
3     t.to("#div1", 1, { left: 300, width: 300 }, 1);
4     //第二条动画也是延迟一秒执行,会和第一条动画同时延迟一秒执行
5     t.to("#div1", 1, { width: 300 }, 1);
6 </script>

  延迟执行第二条动画

1 <script>
2     //动画延迟一秒执行
3     t.to("#div1", 1, { left: 300, width: 300 }, 1);
4     //实现第一条动画完成后,延迟一秒,执行第二条动画
5     t.to("#div1", 1, { width: 300 }, 3);
6 </script>

  延迟执行第二条动画(便捷写法)

1 <script>
2     //动画延迟一秒执行
3     t.to("#div1", 1, { left: 300, width: 300 }, 1);
4     t.to("#div1", 1, { width: 300 }, "+=1");
5 </script>

  让第二条动画指令立刻执行

1 <script>
2     //动画延迟一秒执行
3     t.to("#div1", 1, { left: 300, width: 300 }, 1);
4     //第四个参数设0后,动画会立刻执行
5     t.to("#div1", 1, { width: 300 }, 0);
6 </script>

动画的停止与播放

 通过play()方法与stop()方法来控制

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>TweenMax动画库学习(一)</title>
 6     <script src="./../js/jquery-2.1.4.min.js"></script>
 7     <script src="./../js/TweenMax.js"></script>
 8     <style>
 9         html,body{
10             margin: 0;
11             padding: 0;
12         }
13         #div1{
14             width:100px;
15             height:100px;
16             background: #8D121A;
17             position: absolute;
18             left:0;
19             top:100px;
20         }
21     </style>
22     <script>
23         //        stop():停止动画
24         //        play():开始动画
25         $(function(){
26             var t =new TimelineMax();
27             // t.to("元素选择器或对象",持续时间,对象,【可选】动画延迟发生时间可写数字,"-=0.5","+=0.5")
28             t.to("#div1",1,{left:300},1);
29             t.to("#div1",2,{width:300},"+=1");
30             t.to("#div1",2,{height:300},"+=1");
31             t.to("#div1",2,{top:600});
32             t.to("#div1",2,{rotationZ:180});
33             t.to("#div1",2,{opacity:0});
34             t.stop(); //停止动画
35             $("#play").click(function(){
36                 t.play();//播放动画
37             });
38             $("#stop").click(function(){
39                 t.stop();//停止动画
40             });
41         });
42     </script>
43 </head>
44 <body>
45 <input type="button" id="play" value="播放"/>
46 <input type="button" id="stop" value="停止"/>
47 <div id="div1"></div>
48 </body>
49 </html> 

反向执行动画

通过reverse()方法让动画反向执行

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>TweenMax动画库学习(一)</title>
 6     <script src="./../js/jquery-2.1.4.min.js"></script>
 7     <script src="./../js/TweenMax.js"></script>
 8     <style>
 9         html,body{
10             margin: 0;
11             padding: 0;
12         }
13         #div1{
14             width:100px;
15             height:100px;
16             background: #8D121A;
17             position: absolute;
18             left:0;
19             top:100px;
20         }
21     </style>
22     <script>
23         //        reverse():反向开始动画
24         $(function(){
25             var t =new TimelineMax();
26             // t.to("元素选择器或对象",持续时间,对象,【可选】动画延迟发生时间可写数字,"-=0.5","+=0.5")
27             t.to("#div1",1,{left:300},1);
28             t.to("#div1",2,{width:300},"+=1");
29             t.to("#div1",2,{height:300},"+=1");
30             t.to("#div1",2,{top:600});
31             t.to("#div1",2,{rotationZ:180});
32             t.to("#div1",2,{opacity:0});
33             t.stop(); //停止动画
34             $("#play").click(function(){
35                 t.play();//播放动画
36             });
37             $("#stop").click(function(){
38                 t.stop();//停止动画
39             });
40             $("#reverse").click(function(){
41                 t.reverse();//反向执行动画
42             });
43         });
44     </script>
45 </head>
46 <body>
47 <input type="button" id="play" value="播放"/>
48 <input type="button" id="stop" value="停止"/>
49 <input type="button" id="reverse" value="反向动画"/>
50 <div id="div1"></div>
51 </body>
52 </html>

     onComplete():运动结束后触发对应的函数

     onReverseComplete():反向运动结束后触发对应的函数

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>TweenMax动画库学习(一)</title>
 6     <script src="./../js/jquery-2.1.4.min.js"></script>
 7     <script src="./../js/TweenMax.js"></script>
 8     <style>
 9         html,body{
10             margin: 0;
11             padding: 0;
12         }
13         #div1{
14             width:100px;
15             height:100px;
16             background: #8D121A;
17             position: absolute;
18             left:0;
19             top:100px;
20         }
21     </style>
22     <script>
23 //        stop():停止动画
24 //        play():开始动画
25 //        reverse():反向开始动画
26 //        onComplete():运动结束后触发对应的函数
27 //        onReverseComplete():反向运动结束后触发对应的函数
28         $(function(){
29             var t =new TimelineMax();
30             // t.to("元素选择器或对象",持续时间,对象,【可选】动画延迟发生时间可写数字,"-=0.5","+=0.5")
31             t.to("#div1",1,{left:300,onComplete:function(){
32                 alert("left:300");
33             },onReverseComplete(){
34                 alert("left:0");
35             }},1);
36             t.to("#div1",2,{width:300,onComplete:function(){
37                 alert("width:300")
38             },onReverseComplete(){
39                 alert("width:100");
40             }},"+=1");
41             t.to("#div1",2,{height:300},"+=1");
42             t.to("#div1",2,{top:600});
43             t.to("#div1",2,{rotationZ:180});
44             t.to("#div1",2,{opacity:0});
45             t.stop(); //停止动画
46             $("#play").click(function(){
47                 t.play();//播放动画
48             });
49             $("#stop").click(function(){
50                 t.stop();//停止动画
51             });
52             $("#reverse").click(function(){
53                 t.reverse();//反向执行动画
54             });
55         });
56     </script>
57 </head>
58 <body>
59 <input type="button" id="play" value="播放"/>
60 <input type="button" id="stop" value="停止"/>
61 <input type="button" id="reverse" value="反向动画"/>
62 <div id="div1"></div>
63 </body>
64 </html>

   

时间: 2024-12-17 05:57:16

TweenMax动画库学习(一)的相关文章

TweenMax动画库学习(三)

目录: TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            TweenMax动画库学习(四)            TweenMax动画库学习(五)                  尽请期待......

TweenMax动画库学习(二)

目录: TweenMax动画库学习(一)            TweenMax动画库学习(二)           更新中,尽请期待......

TweenMax动画库学习(四)

目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            TweenMax动画库学习(四)            TweenMax动画库学习(五)  

TweenMax动画库学习(五)

目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            TweenMax动画库学习(四)            TweenMax动画库学习(五)  

TweenMax动画库学习(六)

目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            TweenMax动画库学习(四)            TweenMax动画库学习(五)              TweenMax动画库学习(六)  上一节我们主要聊了TweenMax动画库中的currentLabel():获取当前状态.getLabelAfter():获取下一个状态.getLabel

TweenMax的GSAP(GreenSock动画平台)GSAP,专业的Web动画库

很好奇红框框里面的内容是什么,于是点了进去,又百度了下这个英文缩写具体指的什么东西. GSAP的全名是GreenSock Animation Platform,是一个从flash时代一直发展到今天的专业动画库. (据说当初是做flash的,但是flash在逐渐地淡出舞台时,所以开始添加了一些类,加上一些js的动画) 源码里面又有一系列文件  那么他们关系是什么呢?以下图片来源网络 TweenLite.js.TweenMax.js.TimelineLite.js和TimelineMax.js4个文

Facebook开源动画库 POP-POPBasicAnimation运用

动画在APP开发过程中还是经常出现,将花几天的时间对Facebook开源动画库 POP进行简单的学习:本文主要针对的是POPBasicAnimation运用:实例源代码已经上传至gitHub,地址:https://github.com/wujunyang/facebookPopTest POP默认支持三种动画 但同时也支持自定义动画 POPBasicAnimation //基本动画 POPSpringAnimation //类似弹簧一般的动画效果 POPDecayAnimation //过阻尼效

前端能力模型-动画类型及动画库的介绍

一.背景: 合适的动画不仅更能吸引人们的眼球,也能让你的应用体验更为流畅,而将动画的效果做到极致,才能让用户感到使用你的应用是一种享受,而不是觉得生硬和枯燥. 二.动画技术分类: 按技术类型来进行分类,分为三类:JS动画,CSS3动画,html5动画,接下来分别对三类动画进行讲解. 1)JS动画 通过一个定时器setInterval间隔来改变元素样式,动画结束时clearInterval即可.(早期类库:jquery.prototype.mootools) 优缺点: 优点:可控性很强,兼容性较好

css动画库

转载自:http://www.cnblogs.com/starof/p/4968769.html 本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/4968769.html有问题欢迎与我讨论,共同进步. 一.animates.css animate.css是来自dropbox的工程师Daniel Eden开发的一款CSS3的动画效果小类库.包含了60