• tween.js的动画效果


    实现动画可以用好多种的方法,今天来看看用tween.js插件是如何实现动画效果的。

     tween.js的使用
      1.下载
      2.引入
      3.使用tween.js语法


    需要哪些条件来做运动

     1.初始位置
    2.目标点

    缓动函数
      1.linear 匀速
      2.Quad 二次方缓动效果
      3.Cubic 三次方缓动效果
      4.Quart 四次方缓动效果
      5.Quint 五次方缓动效果
      6.Sine  正弦缓动效果
      7.Expo  指数缓动效果
      8.Circ  圆形缓动函数
      9.Elastic 指数衰减正弦曲线缓动函数
      10.Back  超过范围的三次方的缓动函数
      11.Bounce 指数衰减的反弹曲线缓动函数
    每种缓动函数都由三种效果:
      1.easeIn  加速
      2.easeOut 减速
      3.easeInOut  先加速后减速
      :linear 只有一种效果匀速

    
    

    Tween.缓动函数名.缓动效果名(t,b,c,d);

    
    
      t:当前已经运动的时间
    b:初始位置
    c:变化的值
    d:总步数 总时间
    
    

     我们来举个例子吧!

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6     <style type="text/css">
     7        
     8        #div1 {
     9               100px;
    10              height: 100px;
    11              background: red;
    12              position: absolute;
    13              left: 100px;
    14              top: 200px;
    15        }
    16 
    17     </style>
    18 </head>
    19 <body>
    20     <div id='div1'></div>
    21     <!--移入tween.js-->
    22     <script src='tween.js'></script>
    23     <script type="text/javascript">
    24         
    25          // 获取元素
    26          var oDiv = document.getElementById('div1');
    27          var iLeft = 100;   // 初始位置
    28          var timer = 0;     //d:总步数  总时间
    29 
    30 
    31         // 先准备好要传入的四个参数
    32         b = iLeft;  //b:初始位置
    33         t = 0;      //t:当前已经运动的时间
    34         c = 500;    //c:变化的值
    35         d = 20;     //d:总步数  总时间
    36         timer = setInterval(function() {
    37            t++;
    38            if (t >= d) {
    39                 clearInterval(timer);
    40            }
    41             oDiv.style.left = Tween.Linear(t, b, c, d) + 'px'; //匀速运动
    42         }, 30);
    43 
    44         
    45 
    46     </script>
    47 </body>
    48 </html>

    移动前:

    移动后:


    再给大家分享一个开关门的动画效果。
      1 <!DOCTYPE html>
      2 <html>
      3 <head lang="en">
      4     <meta charset="UTF-8">
      5     <title></title>
      6     <style>
      7         *{margin: 0;padding: 0}
      8         div{position: relative; 800px;height: 400px;overflow: hidden;}
      9         li img{ 800px;height:400px;}
     10         ul{list-style: none;position: absolute;}
     11         ul li{position: absolute;}
     12         #btn1{margin-left: 310px; 80px;height: 30px;}
     13         #btn2{margin-left: 20px; 80px;height: 30px;}
     14         #li1{ 399px;height: 400px;background-color: darkgrey;
     15             border-right:1px red solid;  }
     16         #li2{ 399px;height: 400px;background-color: darkgrey;margin-left: 400px; border-left:1px red solid;}
     17     </style>
     18 </head>
     19 <body>
     20 <div id="div">
     21     <ul>
     22         <li><img src="img4.jpg" alt=""/></li>
     23         <li id="li1"></li>
     24         <li id="li2"></li>
     25     </ul>
     26 </div>
     27 <button id="btn1">开门</button>
     28 <button id="btn2">关门</button>
     29 </body>
     30 <script type="text/javascript" src="tween.js"></script>
     31 <script type="text/javascript">
     32     var div=document.getElementById("div");
     33     var li1=document.getElementById("li1");
     34     var li2=document.getElementById("li2");
     35     var btn1=document.getElementById("btn1");
     36     var btn2=document.getElementById("btn2");
     37 
     38     timer=null;
     39     timer1=null;
     40     btn1.onclick=function() {
     41 //        左开门
     42         fun();
     43         function fun() {
     44             var t = 0;          //t:当前已经运动的时间=== 0
     45             var b = 0;          // b:初始位置=== 0
     46             var c = -400;       //c:变化的值=== -400
     47             var d = 100;        //d:总步数  总时间=== 100
     48             timer = setInterval(function () {
     49                         t += 2;
     50                         if (t == d) {
     51                             clearInterval(timer)
     52                         }
     53                         li1.style.left = Tween.Linear(t, b, c, d) + "px";
     54                     }
     55                     , 30);
     56         }
     57 //右开门
     58         fun1();
     59         function fun1() {
     60 
     61             var t = 0;      //t:当前已经运动的时间=== 0
     62             var b = 0;      // b:初始位置=== 0
     63             var c = 400;    //c:变化的值=== 400
     64             var d = 100;    //d:总步数  总时间=== 100
     65             timer1 = setInterval(function () {
     66 
     67                 t += 2;
     68                 if (t == d) {
     69                     clearInterval(timer1)
     70                 }
     71                 li2.style.left = Tween.Linear(t, b, c, d) + "px";
     72             }, 30);
     73         }
     74     };
     75     
     76     timer2=null;
     77     timer3=null;
     78     btn2.onclick=function(){
     79 //        左关门
     80         fun2();
     81         function fun2() {
     82             var t = 0;          //t:当前已经运动的时间=== 0
     83             var b = -400;       // b:初始位置=== -400
     84             var c = 400;        //c:变化的值=== 400
     85             var d = 100;        //d:总步数  总时间=== 100
     86             timer2 = setInterval(function () {
     87 
     88                 t += 2;
     89                 if (t == d) {
     90                     clearInterval(timer2)
     91                 }
     92                 li1.style.left = Tween.Bounce.easeOut(t, b, c, d) + "px";
     93             }, 30);
     94         }
     95 //        右关门
     96         fun3();
     97         function fun3() {
     98             var t = 0;          //t:当前已经运动的时间=== 0
     99             var b = 400;        // b:初始位置=== 400
    100             var c = -400;       //c:变化的值=== -400
    101             var d = 100;        //d:总步数  总时间=== 100
    102             timer3 = setInterval(function () {
    103 
    104                 t += 2;
    105                 if (t == d) {
    106                     clearInterval(timer3)
    107                 }
    108                 li2.style.left = Tween.Bounce.easeOut(t, b, c, d) + "px";
    109             }, 30);
    110         }
    111     }
    112 </script>
    113 </html>
    
    

    初始效果图====点击开门效果图=====点击关门效果图

    
    
  • 相关阅读:
    异常处理机制
    如题
    MSSql随机取数据据
    在ASP.NET中下载Text文件,而不是在浏览器中打开它
    [原创]SQLite .net 数据库操作类
    对WinForm的App.config文件进行加密 转自 http://www.cnblogs.com/Jinjian/archive/2006/09/06/496009.html
    大型系统上PHP令人不爽的九大原因 转自:http://edu.itbulo.com/200705/114678.htm
    [原创]AspNetPager GridView 直连数据库 分页列子
    用.NET读取Flash格式文件信息
    js调用php动态数据
  • 原文地址:https://www.cnblogs.com/yhyanjin/p/7077866.html
Copyright © 2020-2023  润新知