好多天没有写无博文啦,今天无聊就再写一下!
今天要讲的是TweenLite的一些事件以及,TweenLite动画的控制,TweenMax类似,请自行参考官方文档:http://api.greensock.com/js/
先说一下TweenLite的常见事件:
onStart 动画开始时的一瞬间触发 onUpdate 动画进行时循环触发(可以理解为一个循环,当动画未结束之前都不会停止) onComplete 动画结束的一瞬间触发 onReverseComplete 反转动画结束时的一瞬间触发
相应的有
onStartParams 是一个数组,存放onStart事件的参数 onUpdateParams 是一个数组,存放onUpdate事件的参数 onCompleteParams 是一个数组,存放onComplete事件的参数 onReverseCompleteParams 是一个数组,存放onReverseComplete事件的参数
具体用法如下:
TweenLite.to("#rect",2,{left:"900px",top:"400px",ease:Back.easeOut,onComplete:onTCP,onCompleteParams:["结束啦!"]}); function onTCP(pm){
alert(pm);
}
TweenLite的控制: play 开始 restart 重新开始 pause 暂停 resume 继续 reverse 反转
今天说的内容挺简单的,直接看代码就行啦!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>GSAP JS基础教程--动画的控制及事件</title>
<meta name="Generator" content="EditPlus">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<!--
*@author AIJ
*@email 1058514799@qq.com
*@date 2013-6-28
--> <style type="text/css">
#rect{
position:absolute;
width:50px;
height:50px;
background-color:blue;
} h3{
text-align:center;
}
</style> <script type="text/javascript" src="../greensock/plugins/CSSPlugin.min.js"></script>
<script type="text/javascript" src="../greensock/TweenLite.min.js"></script>
<script type="text/javascript" src="../greensock/easing/EasePack.min.js"></script>
</head>
<body>
<!--创建一个“小方块”-->
<div id="rect"></div> <!--创建几个按键和一个显示用的标签-->
<input type="button" value="重新开始" onclick="go(1);" />
<input type="button" value="暂停" onclick="go(2);" />
<input type="button" value="继续" onclick="go(3);" />
<input type="button" value="反转" onclick="go(4);" />
<h3 id="label"></h3> <script type="text/javascript">
var tw=TweenLite.to("#rect",2,{
left:"900px",
top:"400px",
ease:Back.easeOut,
onStart:TE,onStartParams:["动画开始........"],
onUpdate:TE,onUpdateParams:["动画进行ing........"],
onComplete:TE,onCompleteParams:["动画结束啦........"],
onReverseComplete:TE,onReverseCompleteParams:["已经回到原点!"]
}); function TE(pm){
document.getElementById("label").innerHTML=pm;
} function go(opt){
switch(opt){
case 1:tw.restart();break;
case 2:tw.pause();break;
case 3:tw.resume();break;
case 4:tw.reverse();break;
}
}
</script>
</body>
</html>