zoukankan      html  css  js  c++  java
  • 简单的抖动运动 主要利用offset left 和 setTimeout

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    .box{
    100px;
    height: 100px;
    position: absolute;
    left:300.54px;
    background: red;
    }
    </style>
    </head>
    <body>
    <div class="box" id="box"></div>
    <script>

    var box=document.getElementById("box");

    /*

    left top 可以设置小数数值
    并且获取得到的时候也可以得到小数数值

    offsetLeft 获取的只能是整数!!

    弹性运动不能用于样式不能为负数的
    比如height padding

    */
    function elasticSport(obj,oTarget){

    obj.timer=null;//定时器

    obj.oSpeed=0;//速度

    obj.left=0; //left

    clearInterval(obj.timer);

    obj.timer=setInterval(function(){

    obj.oSpeed+=(oTarget-obj.offsetLeft)/5;

    //摩擦力 总是会停止
    obj.oSpeed*=0.7;

    obj.left+=obj.oSpeed;

    //速度足够小 当前位置足够接近目标位置 停止计时器
    if(Math.abs(obj.oSpeed<1) && Math.abs(obj.left-oTarget)<1){

    clearInterval(obj.timer);
    obj.style.left=oTarget+"px";

    }

    else{

    obj.style.left=obj.left+"px";


    }

    document.title=obj.offsetLeft+" | 300";

    },1000/60);

     

    }

    elasticSport(box,300);


    </script>
    </body>
    </html>

  • 相关阅读:
    数组的反转和二维数组
    初识数组
    Python学习笔记-Day8
    Python学习笔记-Day7
    Python学习笔记-Day6
    Python学习笔记-Day5
    Python学习笔记-Day4
    Python学习笔记-Day3
    Python学习笔记-Day2
    Python学习笔记-Day1
  • 原文地址:https://www.cnblogs.com/liveoutfun/p/9678765.html
Copyright © 2011-2022 走看看