zoukankan      html  css  js  c++  java
  • 缓动动画

    缓动动画就是让元素运动速度有所变化,最常见的是让速度慢慢停下来。

    思路:

    1.让盒子每次移动的距离慢慢变小,速度就会慢慢落下来;

    2.核心算法:(目标值-现在的位置)/10 , 作为每次移动的距离步长;

    3.停止的条件是: 让当前盒子位置等于目标位置时就停止定时器。

    效果:

    代码:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3     <head>
     4         <meta charset="UTF-8">
     5         <title>缓动动画</title>
     6         <style>
     7             *{
     8                 margin: 0;
     9                 padding: 0;
    10             }
    11             div{
    12                 position: absolute;
    13                 left: 0;
    14                 top: 100px;
    15                 width: 100px;
    16                 height: 100px;
    17                 background-color: yellow;
    18             }
    19         </style>
    20     </head>
    21     <body>
    22         <div></div>
    23         <button>按钮</button>
    24         <script>
    25             function animate(obj, target){
    26                 clearInterval(obj.timer);
    27                 obj.timer = setInterval(function(){
    28                     //计算步长值
    29                     var step = (target - obj.offsetLeft) / 10;
    30                     if(obj.offsetLeft >= target){
    31                         // 停止动画本质上是停止定时器
    32                         clearInterval(obj.timer);
    33                     }
    34                     obj.style.left = obj.offsetLeft + step + 'px';
    35                 },10);
    36             }
    37             var div = document.querySelector('div');
    38             var btn = document.querySelector('button');
    39             //调用函数
    40 
    41             btn.addEventListener('click', function(){
    42                 animate(div, 550);
    43             });
    44         </script>
    45     </body>
    46 </html>
  • 相关阅读:
    ElasticSearch--------->附录------->curl------->附录一:下载、安装、配置cURL
    ElasticSearch--------------------->step2,了解elasticsearch相关的基本概念
    1. anaconda安装与配置
    js 浮点型数据运算
    2.0 VMware安装教程
    2.2 es6之Promise对象
    代理模式
    oracle原始对象
    锁理论
    策略模式
  • 原文地址:https://www.cnblogs.com/cy1227/p/13089504.html
Copyright © 2011-2022 走看看