第59天:缓动动画封装函数

简介: 一、三个取整函数 这三个函数都是  数学函数    Math    Math.ceil()    向上取整      天花板     比如说  console.log(Math.ceil(1.01))       结果 是 2           console.

一、三个取整函数

 这三个函数都是  数学函数   

 Math   

 Math.ceil()    向上取整      天花板    

 比如说  console.log(Math.ceil(1.01))       结果 是 2  

         console.log(Math.ceil(1.9))        结果 2

         console.log(Math.ceil(-1.3))       结果 是  -1   

 Math.floor()   向下取整      地板  

    比如说 console.log(Math.floor(1.01))       结果 是 1  

         console.log(Math.floor(1.9))           结果 1

         console.log(Math.floor(-1.3))       结果 是  -2   

 Math.round()   四舍五入函数   

            console.log(Math.round(1.01))       结果 是 1

           console.log(Math.round(1.9))       结果 是 2

二、缓动动画原理

  匀速动画的原理:   盒子本身的位置  +  步长  

  缓动动画的原理:    盒子本身的位置  +  步长 (不断变化的)

三、缓动动画封装函数如下:

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <style>
 7         div {
 8             width: 100px;
 9             height: 100px;
10             background-color: pink;
11             position: absolute;
12             left: 0;
13             opacity: 0.3;
14         }
15     </style>
16 </head>
17 <body>
18 <button id="btn200">200</button>
19 <button id="btn400">400</button>
20 <div id="box"></div>
21 </body>
22 </html>
23 <script>
24     var btn200 = document.getElementById("btn200");
25     var btn400 = document.getElementById("btn400");
26     var box = document.getElementById("box");
27     btn200.onclick = function() {
28         animate(box,200);
29     }
30     btn400.onclick = function() {
31         animate(box,400);
32     }
33 
34     function animate(obj,target){  //  第一个参数 动谁   第二个参数  动多少
35         clearInterval(obj.timer);
36         obj.timer = setInterval(function() {
37               // 计算步长   动画的原理    盒子本身的位置  +  步长
38               var step = (target - obj.offsetLeft) / 10;  // 步长
39               step =  step > 0 ? Math.ceil(step) : Math.floor(step);  //  取整步长
40               // obj.style.left = 盒子本身的位置  +  步长
41               obj.style.left = obj.offsetLeft + step + "px";
42               if(obj.offsetLeft == target){
43                   clearInterval(obj.timer);
44               }
45         },30)
46     }
47  </script>

 

相关文章
|
8月前
|
人工智能 算法 语音技术
Video-T1:视频生成实时手术刀!清华腾讯「帧树算法」终结闪烁抖动
清华大学与腾讯联合推出的Video-T1技术,通过测试时扩展(TTS)和Tree-of-Frames方法,显著提升视频生成的连贯性与文本匹配度,为影视制作、游戏开发等领域带来突破性解决方案。
268 4
Video-T1:视频生成实时手术刀!清华腾讯「帧树算法」终结闪烁抖动
|
8月前
|
存储 人工智能 JavaScript
构建企业AI的信任与信心基石:从认知到实践的全面升级
本文探讨企业在人工智能(AI)广泛应用背景下面临的信任与信心挑战,提出通过数据安全、技术透明度及技能认证构建信任体系。重点介绍生成式人工智能认证(GAI),其能助力企业培养AI人才,提升团队专业能力。文章还建议企业加强内部培训、外部合作与实战应用评估,全方位推动AI战略落地,为企业发展提供支持。
|
Linux uml Windows
知名开源UML工具StarUML有了新的版本:StarUML-v2.5.0
较早之前使用Delphi开发的开源UML工具StarUML,到5.0后多年来一直未有更新,从StarUML-v2.5.0官网看,它就是StartUML的最新版本,支持Windows、Mac OS X和Linux。
2198 0
|
机器学习/深度学习 传感器 算法
基于雾凇冰物理现象优化算法RIME求解单目标优化问题附matlab代码
基于雾凇冰物理现象优化算法RIME求解单目标优化问题附matlab代码
|
存储 机器学习/深度学习 人工智能
蚂蚁智能内容合规产品,提供一站式营销合规管控解决方案
蚂蚁数科全栈式智能内容合规审核平台产品基于AI智能技术及专业内容审核规则沉淀,向金融、互联网、政企、传媒等行业客户提供一站式智能内容合规审核解决方案,可助力机构有效降低营销合规风险。
1408 0
蚂蚁智能内容合规产品,提供一站式营销合规管控解决方案
|
Web App开发 自然语言处理 JavaScript
计算机运行原理:从1+1等于2看电脑是如何干活的?
人类大脑白天工作,晚上休息;电脑白天随人一起运转,到了晚上人类按下电源键,它们也开始休息。如果CPU中的电子元件有意识,那么它们觉察到自身的硬件性能一代比一代强,软件功能一代比一代复杂,它们能意识到在它们之上,有人类在指挥和操控着这一切吗?
557 0
|
机器学习/深度学习 算法 计算机视觉
YOLOV5与YOLOv4的对比
YOLOV5与YOLOv4的对比
2037 0
|
算法 容器
LeetCode精选算法100题,从入门到入赘
LeetCode精选算法100题,从入门到入赘
495 0
LeetCode精选算法100题,从入门到入赘
|
Dart 前端开发 Shell
Markdown实用小技巧: 个个用着都很爽
Markdown实用小技巧: 个个用着都很爽
Markdown实用小技巧: 个个用着都很爽
|
网络协议 Linux 文件存储
阿里云SMB协议文件存储服务支持基于AD域的用户身份认证及权限访问控制介绍
在本文中,我们首先简单介绍文件系统的用户认证和访问权限控制的概念,然后介绍阿里云SMB协议文件存储服务支持基于AD域系统的用户身份认证及访问权限控制的设计实现。
4546 0
阿里云SMB协议文件存储服务支持基于AD域的用户身份认证及权限访问控制介绍