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 选择器、过滤器介绍
Feb 14 Javascript
jQuery表单验证插件formValidator(改进版)
Feb 03 Javascript
Javascript 多浏览器兼容总结(实战经验)
Oct 30 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
May 23 Javascript
uploadify多文件上传参数设置技巧
Nov 16 Javascript
JavaScript实现点击按钮字体放大、缩小
Feb 29 Javascript
微信小程序 action-sheet底部菜单详解
Oct 27 Javascript
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
three.js加载obj模型的实例代码
Nov 10 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
Mar 12 Javascript
js将键值对字符串转为json字符串的方法
Mar 30 Javascript
JS实现放烟花效果
Mar 10 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
PHP实现AES256加密算法实例
2014/09/22 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
python爬虫常用的模块分析
2014/08/29 Python
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
Python下的twisted框架入门指引
2015/04/15 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
十佳教师事迹材料
2014/01/11 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
入党介绍人评语
2014/05/06 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
解放思想演讲稿
2014/09/11 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
还款承诺书范本
2015/01/20 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书