javascript实现左右缓动动画函数


Posted in Javascript onNovember 25, 2020

本文实例为大家分享了js实现左右缓动动画函数的封装代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <link rel="stylesheet" href="bootstrap-4.4.1.css" >
 <style>
 
 .box{
 width: 100px;
 height: 100px;
 background-color: chartreuse;
 position:absolute;
 }
 </style>
 </head>
 <body>

 <button class="btn1">移动400px</button>
 <button class="btn2">移动800px</button>
 <div class="box"></div>

 <script>

 let btn1 = document.querySelector('.btn1');
 let btn2 = document.querySelector('.btn2');
 let box = document.querySelector('.box');

 btn1.onclick = function(){
 animate(box,400);
 }

 btn2.onclick = function(){
 animate(box,800);
 }

 // 缓动动画
 function animate(element,target){
 // 清除定时器
 clearInterval(element.timeId);

 element.timeId = setInterval(function(){
  // 获取元素当前的位置
  let current = element.offsetLeft;
  // 当current越大,step越小,先快后慢
  let step = (target - current) / 10;
  // 当step大于0时,step向上取整,否则,step向下取整
  step = step > 0 ? Math.ceil(step) : Math.floor(step);
  current += step;
  element.style.left = current + 'px';
  // 不用担心到达不了目标位置,因为step最小达到1
  if(current == target){
  clearInterval(element.timeId);
  }
  console.log("目标位置:" + target + "当前位置:" + current + "每次移动的步数:" + step);
 },20);
 }

 </script>
 
 </body>
</html>

javascript实现左右缓动动画函数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 可排列的表实现代码
Nov 13 Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
JS判断微信扫码的方法
Aug 07 Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 Javascript
深入浅析JSONAPI在PHP中的应用
Dec 24 Javascript
详解weex默认webpack.config.js改造
Jan 08 Javascript
element-ui 关于获取select 的label值方法
Aug 24 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
Oct 24 Javascript
实例讲解v-if和v-show的区别
Jan 31 Javascript
微信小程序 腾讯地图显示偏差问题解决
Jul 27 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
Mar 26 Javascript
JavaScript缓动动画函数的封装方法
Nov 25 #Javascript
js实现缓动动画
Nov 25 #Javascript
JavaScript实现缓动动画
Nov 25 #Javascript
Vue3配置axios跨域实现过程解析
Nov 25 #Vue.js
Vue使用Element实现增删改查+打包的步骤
Nov 25 #Vue.js
JavaScript实现网页动态生成表格
Nov 25 #Javascript
vue + el-form 实现的多层循环表单验证
Nov 25 #Vue.js
You might like
Terran兵种介绍
2020/03/14 星际争霸
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
php广告加载类用法实例
2014/09/23 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
javascript hashtable 修正版 下载
2010/12/30 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
VSCode下好用的Python插件及配置
2018/04/06 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
python manage.py runserver流程解析
2019/11/08 Python
django序列化serializers过程解析
2019/12/14 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
医科大学毕业生自荐信
2014/02/03 职场文书
岗位职责风险防控
2014/02/18 职场文书
暑期培训班策划方案
2014/08/26 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android
警用民用对讲机找不同
2022/02/18 无线电