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

Posted SailorM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓动动画多个目标值之间移动相关的知识,希望对你有一定的参考价值。

效果:

代码:

 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>

 

以上是关于缓动动画多个目标值之间移动的主要内容,如果未能解决你的问题,请参考以下文章

06webApis

分享一个即插即用的私藏缓动动画JS小算法

js缓动动画原理

js缓动动画原理

JavaScript——WEBAPIS_深入动画函数的封装,常见网页特效

为移动目标 lat/lng 和缩放级别的动画偏移地图片段的中心