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 相关文章推荐
JavaScript编程开发中的五个实用小技巧
Jul 22 Javascript
javascript Window及document对象详细整理
Jan 12 Javascript
jquery异步请求实例代码
Jun 21 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
AngularJs Understanding the Model Component
Sep 02 Javascript
Angular JS数据的双向绑定详解及实例
Dec 31 Javascript
Express之托管静态文件的方法
Jun 01 Javascript
JS中超越现实的匿名函数用法实例分析
Jun 21 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
Nov 01 Javascript
详解JavaScript自定义函数
Jul 29 Javascript
vue组件中实现嵌套子组件案例
Aug 31 Javascript
node.js文件的复制、创建文件夹等相关操作
Feb 05 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
[EPIC] Larva vs Flash ZvT @ Crossing Field [2017-10-09]
2020/03/17 星际争霸
php 错误处理经验分享
2011/10/11 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
jquery中animate动画积累的解决方法
2013/10/05 Javascript
javascript if条件判断方法小结
2014/05/17 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
python通过ssh-powershell监控windows的方法
2015/06/02 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
Python对wav文件的重采样实例
2020/02/25 Python
Python dict的常用方法示例代码
2020/06/23 Python
python实现感知机模型的示例
2020/09/30 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
团员学习总结的自我评价范文
2013/10/14 职场文书
简历中个人求职的自我评价模板
2013/11/29 职场文书
审计工作个人的自我评价
2013/12/25 职场文书
党员思想汇报范文
2013/12/30 职场文书
电子商务专业求职信
2014/03/08 职场文书
销售活动策划方案
2014/08/26 职场文书
致运动员赞词
2015/07/22 职场文书
Python合并pdf文件的工具
2021/07/01 Python
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android