• js 模拟css3 动画1


    <html>
    <head>
    <title> javaScript缓动入门 </title>
    </head>
    <body>
    <style type=text/css>
     #taxiway {
        background: #e8e8ff;  800px; height: 100px
     }
     #move {
         background: #a9ea00; 100px; height:98px; border:1px solid red
     } 
    </style>
    <div id="taxiway">
     <div id="move" style="position: absolute; left: 0" onClick="start()"></div>
    </div>
    <p class=notice display="text-align:center">点击可移动绿色方块</p>
    <p id="time0"></p>
    <p id="time1"></p>
    <p id="time2"></p>
    </body>
    <script>
    /*var myDate = new Date();
    myDate.getYear();        //获取当前年份(2位)
    myDate.getFullYear();    //获取完整的年份(4位,1970-????)
    myDate.getMonth();       //获取当前月份(0-11,0代表1月)
    myDate.getDate();        //获取当前日(1-31)
    myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
    myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
    myDate.getHours();       //获取当前小时数(0-23)
    myDate.getMinutes();     //获取当前分钟数(0-59)
    myDate.getSeconds();     //获取当前秒数(0-59)
    myDate.getMilliseconds();    //获取当前毫秒数(0-999)
    myDate.toLocaleDateString();     //获取当前日期
    var mytime=myDate.toLocaleTimeString();     //获取当前时间
    myDate.toLocaleString( );        //获取日期与时间
    */
    
    //这里的动画距离是没有误差了,但是在执行时间的时候有很大的误差,所以只能改成时间戳的动画!
    var o_show_time0 = document.getElementById('time0');
    var o_show_time1 = document.getElementById('time1');
    var o_show_time2 = document.getElementById('time2');
    
    
    //动画参数设置http://www.timotheegroleau.com/Flash/experiments/easing_function_generator.htm
    //这个动画好执行距离没有误差,但是在执行动画的时候有误差
    var Tween = {
        Quad: {
        easeOut: function(t, b, c, d) {
               t/=d;  //   t=t/d   1/100 //这样就走了100份之一
                       //当t等于d的时候那么他们相除就等于1  刚刚好是初始值动画和结束值相加的值 
        return b+c*(t);
    }
            
        }
    }
    
    //b:div之样式left初值,c:div要移动的距离,d:div在时间d内完成移动,t:时间 
    //   d:div在时间d内完成移动 的时间是  d=1000*10  (Run,10)的10
    var b=0,c=500,d=1000,t=0;
    function Run(){
        var left =  Math.ceil(Tween.Quad.easeOut(t,b,c,d));
        move.style.left = left + "px";
         console.log('d='+d);
        console.log('t='+t);
        console.log('left='+left);
        o_show_time1.innerHTML =  new Date();
        if(t>=d){
              o_show_time2.innerHTML =  new Date();
               clearInterval(timer);
              timer = null;
             // setTimeout(Run, 1);
               }
        t++;       
    }
    var timer = null;
    function  start(){
        o_show_time0.innerHTML =  new Date();
          timer = setInterval(Run,10);
        }
      
    </script>
    
    </html>
  • 相关阅读:
    常用的十种排序
    [CSP-S模拟测试]:Weed(线段树)
    [CSP-S模拟测试]:Blue(贪心)
    $LaTeX$数学公式大全13
    $LaTeX$数学公式大全12
    $LaTeX$数学公式大全11
    $LaTeX$数学公式大全10
    $LaTeX$数学公式大全9
    $LaTeX$数学公式大全8
    [CSP-S模拟测试]:石头剪刀布(rps)(概率DP)
  • 原文地址:https://www.cnblogs.com/hao123456/p/5581165.html
Copyright © 2020-2023  润新知