zoukankan      html  css  js  c++  java
  • 缓动动画多个目标值之间移动

    效果:

    代码:

     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>
  • 相关阅读:
    CentOS重置Mysql密码
    2017年2月21日20:35:46
    UEFI+GPT安装windows
    CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
    CentOS利用nginx和php-fpm搭建owncloud私有云
    Docker安装CentOS
    CoreOS和Docker入门
    Docker命令学习
    CentOS安装Redis详细教程
    Redis的三种启动方式
  • 原文地址:https://www.cnblogs.com/cy1227/p/13091626.html
Copyright © 2011-2022 走看看