GSAP JS基础教程--动画的控制及事件

好多天没有写无博文啦,今天无聊就再写一下!

今天要讲的是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>
原文地址:https://www.cnblogs.com/tujia/p/3218083.html