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 相关文章推荐
对象的类型:本地对象(1)
Dec 29 Javascript
Use Word to Search for Files
Jun 15 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
用javascript关闭本窗口技巧小结
Sep 05 Javascript
基于jQuery实现下拉框
Nov 24 Javascript
jQuery.position()方法获取不到值的安全替换方法
Mar 13 Javascript
详解JavaScript正则表达式中的global属性的使用
Jun 16 Javascript
JavaScript动态提示输入框输入字数的方法
Jul 27 Javascript
jQuery 插件封装的方法
Nov 16 Javascript
微信小程序 PHP生成带参数二维码
Feb 21 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 jQuery
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
文件上传程序的全部源码
2006/10/09 PHP
php中的MVC模式运用技巧
2007/05/03 PHP
php开发环境配置记录
2011/01/14 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
js判断变量是否未定义的代码
2020/03/28 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
微信小程序实现多宫格抽奖活动
2020/04/15 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
医学院四年学习生活的自我评价
2013/11/06 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
晚会邀请函范文
2014/01/24 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
行政文员岗位职责
2015/02/04 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技