TweenMax动画库学习(一)
目录
之前在做HTML5移动端开发的时候,用的都是Animate.css,这个插件封装的的确很好,但是在做一些缓动方面的动画,它也有一定的不足之处,比如手要写一个连续的动画,需要不停的去重复写函数,使得代码严重的冗余,再比如要获取动画执行的时间,就比较的麻烦等等。而TweenMax恰恰可以解决这方面的不足。于是我花了3天的时间,认真的学习了TweenMax动画库的用法,现在将个人的学习总结如下,若有不正确的地方,欢迎读者给与批评指正!
TweenMax动画库的官方网址: http://greensock.com/timelinemax
下面我们直奔主题,开始介绍TweenMax动画库:
1、如何引用TweenMax动画库
TweenMax动画库依赖jQuery
<script src="./../js/jquery-2.1.4.min.js"></script>
<script src="./../js/TweenMax.js"></script>
2、得到动画的示例
<script>
$(function () {
var t = new TimelineMax();
});
</script>
3、to():添加动画
参数说明:
t.to("元素选择器或对象",持续时间,对象,【可选】动画延迟发生时间可写数字,"-=0.5","+=0.5")
1. 元素选择器或对象
2. 持续时间
3. 对象
变化的属性->值
4. 【可选】动画延迟发生时间
可写数字,“-=0.5”,“+=0.5“
页面简单布局
<style>
html,body{
margin: 0;
padding: 0;
}
#div1{
width:100px;
height:100px;
background: #8D121A;
position: absolute;
left:0;
top:100px;
}
</style>
<body>
<div id="div1"></div>
</body>
执行单个动画
<script>
$(function(){
var t =new TimelineMax();
t.to("#div1",1,{left:300},1);
});
</script>
执行组合动画
<script>
$(function(){
var t =new TimelineMax();
t.to("#div1",1,{left:300,width:300},1);
});
</script>
执行队列动画,列表中的动画会依次执行
<script>
t.to("#div1", 1, { left: 300 });
t.to("#div1", 1, { width: 300 });
t.to("#div1", 1, { height: 300 });
t.to("#div1", 1, { top: 300 });
t.to("#div1", 1, { rotationZ: 180 });
t.to("#div1", 1, { opacity: 0 });
</script>
添加第四个参数 设置动画的延迟时间
<script>
//动画延迟一秒执行
t.to("#div1", 1, { left: 300, width: 300 }, 1);
//第二条动画没有延迟时间,所以等第一条动画执行完成后立刻执行第二条动画
t.to("#div1", 1, { width: 300 });
</script>
<script>
//动画延迟一秒执行
t.to("#div1", 1, { left: 300, width: 300 }, 1);
//第二条动画也是延迟一秒执行,会和第一条动画同时延迟一秒执行
t.to("#div1", 1, { width: 300 }, 1);
</script>
延迟执行第二条动画
<script>
//动画延迟一秒执行
t.to("#div1", 1, { left: 300, width: 300 }, 1);
//实现第一条动画完成后,延迟一秒,执行第二条动画
t.to("#div1", 1, { width: 300 }, 3);
</script>
延迟执行第二条动画(便捷写法)
<script>
//动画延迟一秒执行
t.to("#div1", 1, { left: 300, width: 300 }, 1);
t.to("#div1", 1, { width: 300 }, "+=1");
</script>
让第二条动画指令立刻执行
<script>
//动画延迟一秒执行
t.to("#div1", 1, { left: 300, width: 300 }, 1);
//第四个参数设0后,动画会立刻执行
t.to("#div1", 1, { width: 300 }, 0);
</script>
动画的停止与播放
通过play()方法与stop()方法来控制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TweenMax动画库学习(一)</title>
<script src="./../js/jquery-2.1.4.min.js"></script>
<script src="./../js/TweenMax.js"></script>
<style>
html,body{
margin: 0;
padding: 0;
}
#div1{
width:100px;
height:100px;
background: #8D121A;
position: absolute;
left:0;
top:100px;
}
</style>
<script>
// stop():停止动画
// play():开始动画
$(function(){
var t =new TimelineMax();
// t.to("元素选择器或对象",持续时间,对象,【可选】动画延迟发生时间可写数字,"-=0.5","+=0.5")
t.to("#div1",1,{left:300},1);
t.to("#div1",2,{width:300},"+=1");
t.to("#div1",2,{height:300},"+=1");
t.to("#div1",2,{top:600});
t.to("#div1",2,{rotationZ:180});
t.to("#div1",2,{opacity:0});
t.stop(); //停止动画
$("#play").click(function(){
t.play();//播放动画
});
$("#stop").click(function(){
t.stop();//停止动画
});
});
</script>
</head>
<body>
<input type="button" id="play" value="播放"/>
<input type="button" id="stop" value="停止"/>
<div id="div1"></div>
</body>
</html>
反向执行动画
通过reverse()方法让动画反向执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TweenMax动画库学习(一)</title>
<script src="./../js/jquery-2.1.4.min.js"></script>
<script src="./../js/TweenMax.js"></script>
<style>
html,body{
margin: 0;
padding: 0;
}
#div1{
width:100px;
height:100px;
background: #8D121A;
position: absolute;
left:0;
top:100px;
}
</style>
<script>
// reverse():反向开始动画
$(function(){
var t =new TimelineMax();
// t.to("元素选择器或对象",持续时间,对象,【可选】动画延迟发生时间可写数字,"-=0.5","+=0.5")
t.to("#div1",1,{left:300},1);
t.to("#div1",2,{width:300},"+=1");
t.to("#div1",2,{height:300},"+=1");
t.to("#div1",2,{top:600});
t.to("#div1",2,{rotationZ:180});
t.to("#div1",2,{opacity:0});
t.stop(); //停止动画
$("#play").click(function(){
t.play();//播放动画
});
$("#stop").click(function(){
t.stop();//停止动画
});
$("#reverse").click(function(){
t.reverse();//反向执行动画
});
});
</script>
</head>
<body>
<input type="button" id="play" value="播放"/>
<input type="button" id="stop" value="停止"/>
<input type="button" id="reverse" value="反向动画"/>
<div id="div1"></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TweenMax动画库学习(一)</title>
<script src="./../js/jquery-2.1.4.min.js"></script>
<script src="./../js/TweenMax.js"></script>
<style>
html,body{
margin: 0;
padding: 0;
}
#div1{
width:100px;
height:100px;
background: #8D121A;
position: absolute;
left:0;
top:100px;
}
</style>
<script>
// stop():停止动画
// play():开始动画
// reverse():反向开始动画
// onComplete():运动结束后触发对应的函数
// onReverseComplete():反向运动结束后触发对应的函数
$(function(){
var t =new TimelineMax();
// t.to("元素选择器或对象",持续时间,对象,【可选】动画延迟发生时间可写数字,"-=0.5","+=0.5")
t.to("#div1",1,{left:300,onComplete:function(){
alert("left:300");
},onReverseComplete(){
alert("left:0");
}},1);
t.to("#div1",2,{width:300,onComplete:function(){
alert("width:300")
},onReverseComplete(){
alert("width:100");
}},"+=1");
t.to("#div1",2,{height:300},"+=1");
t.to("#div1",2,{top:600});
t.to("#div1",2,{rotationZ:180});
t.to("#div1",2,{opacity:0});
t.stop(); //停止动画
$("#play").click(function(){
t.play();//播放动画
});
$("#stop").click(function(){
t.stop();//停止动画
});
$("#reverse").click(function(){
t.reverse();//反向执行动画
});
});
</script>
</head>
<body>
<input type="button" id="play" value="播放"/>
<input type="button" id="stop" value="停止"/>
<input type="button" id="reverse" value="反向动画"/>
<div id="div1"></div>
</body>
</html>
动画演示:

代码打包下载:
链接: http://pan.baidu.com/s/1nvaoe5V 密码: gm7y
TweenMax动画库学习(一)的更多相关文章
- TweenMax动画库学习(六)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- TweenMax动画库学习(五)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- TweenMax动画库学习(四)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- TweenMax动画库学习(二)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- TweenMax动画库学习(三)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) ...
- TweenMax动画库学习
之前在做HTML5移动端开发的时候,用的都是Animate.css,这个插件封装的的确很好,但是在做一些缓动方面的动画,它也有一定的不足之处,比如手要写一个连续的动画,需要不停的去重复写函数,使得代码 ...
- animate.css –齐全的CSS3动画库--- 学习笔记
animate.css – 齐全的CSS3动画库 学习网站: https://daneden.github.io/animate.css/ http://www.dowebok.com/98.html ...
- TweenMax 动画库,知识点
官方地址:https://greensock.com/tweenmax github 地址:https://github.com/greensock/GreenSock-JS 比较好的介绍文章: ht ...
- TweenMax的GSAP(GreenSock动画平台)GSAP,专业的Web动画库
很好奇红框框里面的内容是什么,于是点了进去,又百度了下这个英文缩写具体指的什么东西. GSAP的全名是GreenSock Animation Platform,是一个从flash时代一直发展到今天的专 ...
随机推荐
- Jordan Lecture Note-11: 典型相关分析(Canonical Correlation Analysis, CCA).
典型相关分析 (一)引入 典型相关分析(Canonical Correlation Analysis)是研究两组变量之间相关关系的一种多元统计方法.他能够揭示出两组变量之间的内在联系. 我们知道,在一 ...
- 图形化管理debian服务
bootupmanager这个软件 ,用着勉强吧, 功能不多. 安装 sudo apt-get install bum 卸载sudo apt-get remove --purge bum 多了不说 , ...
- c语言字符串实例
例子:涉及字符串.字符.指针.++等 例一:字符串与字符 #include <stdio.h> void reverse(char *str) { char *end=str; print ...
- C语言宏定义相关
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等.下面列举一些成熟软件中常用得宏定义......1,防止一个头文件被重复包含#ifndef COMDEF_H# ...
- [Java] 集合类(List、Set、Map的基本使用)
数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组相关.刚开始接触Java时也是一直使用数组写一些程序,后来越来越觉得... 数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组 ...
- 最简单好用的SSO - 能经得起几万并发用户的SSO 组件使用方法介绍
项目中使用了通用权限管理系统,该系统集成了单点登录功能,下面我来介绍下该单点登录实现的一些细节. 首先我们来看看其登录接口,系统本身支持各种登录方式: 1.公司名.用户名.密码 2.唯一账号.密码 3 ...
- 关于JDK中的集合总结(三)
泛型: jdk1.5出现的安全机制. 好处: 1,将运行时期的问题ClassCastException转到了编译时期. 2,避免了强制转换的麻烦. <>:什么时候用?当操作的引用数据类型不 ...
- SQL Server 2005中约束
在SQL Server 2005中有6种约束:主键约束(primary key constraint).惟一性约束(unique constraint).检查约束(check constraint). ...
- 203. Segment Tree Modify
最后更新 二刷 08-Jan-2017 利用线段树来更改,找到更改的NODE,然后更改那个brach上的所有max值. 首先确定recursion的终止条件 然后通过判断大小来找方向 找到NODE之后 ...
- this及其作用域(函数外部this变量的调用)
众所周知的一件麻烦事是函数外部的this变量都不可见,但是我们在编写使用局部函数的方法时,却又很可能需要在某一时刻从内部函数访问this变量. 这种情况下可以通过在this变量中存储一个需要的信息(例 ...