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 相关文章推荐
Gird组件 Part-3:范例RSSFeed Viewer
Mar 10 Javascript
用js实现计算代码行数的简单方法附代码
Aug 13 Javascript
js innerHTML 的一些问题的解决方法
Jun 22 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
Aug 08 Javascript
AngularJS入门教程(零):引导程序
Dec 06 Javascript
EasyUI实现第二层弹出框的方法
Mar 01 Javascript
Node.js 学习笔记之简介、安装及配置
Mar 03 Javascript
一款简单的jQuery图片标注效果附源码下载
Mar 22 Javascript
客户端验证用户名和密码的方法详解
Jun 16 Javascript
小程序实现五星点评效果
Nov 03 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
Jun 13 Javascript
原生小程序封装跑马灯效果
Oct 21 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递归获取目录内所有文件的实现方法
2016/11/01 PHP
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
Python常见内置高效率函数用法示例
2018/07/31 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
python3将变量输入的简单实例
2020/08/19 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
大学生简短的自我评价分享
2014/02/20 职场文书
亚运会口号
2014/06/20 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
工作时间调整通知
2015/04/24 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
2019年农民幸福观调查的实践感悟
2019/12/19 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android