目錄
上一節我們主要聊了TweenMax動畫庫中的add()添加狀態、tweenTo()完成指定的動畫(過渡)等方法的使用,接下來我們繼續學習TweenMax動畫庫中的其它方法的使用。
TweenMax動畫庫的官方網址: http://greensock.com/timelinemax
下面我們直奔主題,開始介紹TweenMax動畫庫中的其它方法的使用:
1、頁面布局
<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>
1 <body> 2 <div id="div1"></div> 3 </body>
2、seek()---
完成指定的動畫(無過渡)
參數說明:
1. 指定時間或狀態
2. 【可選】布爾值
true:不執行函數 默認
false: 執行函數
seek(時間)
1 <script> 2 $(function(){ 3 var t =new TimelineMax(); 4 t.to("#div1",2,{left:300}); 5 t.to("#div1",2,{width:300}); 6 t.to("#div1",2,{height:300}); 7 t.seek(2);//直接運動到設置的時間點,后面的運動會接着運動 8 }); 9 <script>
seek("狀態")
1 <script> 2 $(function(){ 3 var t =new TimelineMax(); 4 t.to("#div1",2,{left:300}); 5 t.add("state1"); 6 t.to("#div1",2,{width:300}); 7 t.add("state2"); 8 t.to("#div1",2,{height:300}); 9 t.add("state3"); 10 t.seek("state2");//直接運動到設置的狀態,后面的運動會接着運動 11 }); 12 </script>
seek("狀態",false)
1 <script> 2 $(function(){ 3 var t =new TimelineMax(); 4 t.to("#div1",2,{left:300,onComplete:function(){ 5 alert("left:300"); 6 }});//標記一 7 t.add("state1"); 8 t.to("#div1",2,{width:300,onComplete:function(){ 9 alert("width:300"); 10 }}); 11 t.add("state2"); 12 t.to("#div1",2,{height:300}); 13 t.add("state3"); 14 t.seek("state1",false);//直接運動到設置的狀態,但會執行【標記一】中的函數,后面的運動會接着運動 15 </script>
3、time() 動畫已執行的時間
參數說明:
1 動畫已執行的時間
1 <script> 2 $(function(){ 3 var t =new TimelineMax(); 4 t.to("#div1",2,{left:300,onComplete:function(){ 5 alert("left:300"); 6 }}); 7 t.add("state1"); 8 t.to("#div1",2,{width:300,onComplete:function(){ 9 alert("width:300"); 10 }}); 11 t.add("state2"); 12 t.to("#div1",2,{height:300}); 13 t.add("state3"); 14 t.seek("state3",false); 15 console.log(t.time()); //6 //動畫已執行的時間 16 }); 17 </script>
4、clear():清除所有動畫
參數說明:
1 清除所有動畫
1 <script> 2 $(function(){ 3 var t =new TimelineMax(); 4 t.to("#div1",2,{left:300,onComplete:function(){ 5 alert("left:300"); 6 }}); 7 t.add("state1"); 8 t.to("#div1",2,{width:300,onComplete:function(){ 9 alert("width:300"); 10 }}); 11 t.add("state2"); 12 t.clear(); //清除state2之前的所有動畫,后面的動畫依然繼續執行 13 t.to("#div1",2,{height:300}); 14 t.add("state3"); 15 }); 16 </script>
seek()、time()、clear()綜合使用
1 <script> 2 // seek():完成指定的動畫(無過渡) 3 // 參數說明: 4 // 1. 指定時間或狀態 5 // 2. 【可選】布爾值 6 // true:不執行函數 默認 7 // false: 執行函數 8 // time():動畫已執行的時間 9 // clear():清除所有動畫 10 $(function(){ 11 var t =new TimelineMax(); 12 t.to("#div1",2,{left:300,onComplete:function(){ 13 alert("left:300"); 14 }}); 15 t.add("state1"); 16 t.to("#div1",2,{width:300,onComplete:function(){ 17 alert("width:300"); 18 }}); 19 t.add("state2"); 20 // t.clear(); //清除所有動畫 21 t.to("#div1",2,{height:300}); 22 t.add("state3"); 23 // t.stop(); 24 t.seek("state3",false); 25 console.log(t.time()); //6 //動畫已執行的時間 26 }); 27 </script>
動畫演示:
代碼打包下載:
鏈接: http://pan.baidu.com/s/1nvMrrjN 密碼: qp44