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时代一直发展到今天的专 ...
随机推荐
- pager 命令
https://www.percona.com/blog/2013/01/21/fun-with-the-mysql-pager-command/ Last time I wrote about a ...
- Python学习 之 对内存的使用(浅拷贝和深拷贝)
1.浅拷贝:对引用的拷贝,只拷贝父对象 cope() 深拷贝:对对象资源的拷贝 deepcope()
- linux后端运行
程序命令 & :将命令放入后台运行. Ctrl + z : 把一个正在运行的前端命令转移到后台运行,它等效于:程序命令 & :这样虽然把程序放在了后端运行,但是此时程序状态为暂停状态, ...
- java中文件操作
例一:从一个文件读入数据,然后写入另外一个文件 package lipika; import java.io.FileInputStream; import java.io.FileNotFoundE ...
- Sql语句中的truncate,delete,drop的区别
相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 不同点: 1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句 ...
- GCD 的使用
// // ZYGCDViewController.h // Thread // // Created by wanglixing on 14/11/4. // Copyright © 2014年 z ...
- oracle11g asm standalone 单实例重建
原文地址:oracle11g asm单实例重建has 作者:datapeng 最近到客户那里处理故障,客户说,他们修改了一下hostname,导到has出现了问题,当然,他们的数据库也就无法再启动,把 ...
- CentOS(三)--初识linux的文件系统以及用户组等概念
进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文件所有者.文件所在组等概念 一.Linux文件结构及基本文件夹 文件系统是Lin ...
- 给jdk写注释系列之jdk1.6容器(3)-Iterator设计模式
前面讲了两种List,一种基于数组实现的ArrayList,一种基于链表实现的LinkedList,这两种list是我们工作中最常用到的List容器.当然数组和链表也是两种常见的基本数据结构,其他基本 ...
- javaweb学习总结十一(JAXP对XML文档进行DOM解析)
一:将内存中写好的xml文件读取到硬盘上 二:DOM方式对xml文件进行增删改查 1:添加节点(默认是在最后的子节点后面添加) @Test // 向元素中添加节点<version>1.0& ...