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>
  • 相关阅读:
    列表和元组
    UVM宏
    UVM中重要函数
    组合模式(composite)
    装饰器模式(Decorator)
    适配器模式(Adapter)
    桥接模式
    原型模式(prototype)
    单例模式(singleton)
    UML类图
  • 原文地址:https://www.cnblogs.com/cy1227/p/13089504.html
Copyright © 2011-2022 走看看