• 缓动动画多个目标值之间移动


    效果:

    代码:

     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 class="btn1">点击到500</button>
    24         <button class="btn2">点击到800</button>
    25         <script>
    26             function animate(obj, target){
    27                 clearInterval(obj.timer);
    28                 obj.timer = setInterval(function(){
    29                     //计算步长值
    30                     //把步长值改成整数,不要出现小数问题
    31                     var step = (target - obj.offsetLeft) / 10;
    32                     step = step > 0 ? Math.ceil(step) : Math.floor(step);
    33                     if(obj.offsetLeft == target){
    34                         // 停止动画本质上是停止定时器
    35                         clearInterval(obj.timer);
    36                     }
    37                     obj.style.left = obj.offsetLeft + step + 'px';
    38                 },10);
    39             }
    40             var div = document.querySelector('div');
    41             var btn1 = document.querySelector('.btn1');
    42             var btn2 = document.querySelector('.btn2');
    43             //调用函数
    44 
    45             btn1.addEventListener('click', function(){
    46                 animate(div, 500);
    47             });
    48             btn2.addEventListener('click', function(){
    49                 animate(div, 800);
    50             });
    51         </script>
    52     </body>
    53 </html>
  • 相关阅读:
    纸牌游戏
    万圣节派对
    士兵杀敌(三)简单线段树
    百度之星2016资格赛之部分题解
    hdu Simpsons’Hidden Talents(kmp)
    滑梯理论
    PAP认证方式原理和实现
    Google的Protobuf协议分析
    HMac基本介绍
    为Tcl编写C的扩展库
  • 原文地址:https://www.cnblogs.com/cy1227/p/13091626.html
Copyright © 2020-2023  润新知