前端 —— JavaScript 基础篇 缓动动画(先快后慢的动画效果)demo

欧姆龙PMAC CK3M控制器新手避坑指南:从开箱到EtherCAT总线配置的完整流程 本文详细介绍了欧姆龙PMAC CK3M控制器的完整配置流程,从开箱检查到EtherCAT总线配置,特别针对新手常见问题提供避坑指南。内容包括硬件连接、软件安装、EtherCAT主站初始化、从站配置、电机参数设置等关键步骤,帮助工程师快速掌握PMAC控制器的使用技巧。 阅读详情

今天来个 缓动动画的小例子 ,是为了方便自己日后的复制粘贴,若是能帮助到大家,拿走不谢。话不多说,直接上代码。

 

<style type="text/css">
		*{
			margin: 0;
			padding: 0;
		}
		.box{
			width: 200px;
			height: 200px;
			background: yellow;
			text-align: center;
			position: relative;
			top: 0px;
			left: 0;

		}
		button{
			padding: 0 20px;
			height: 40px;
			margin-top: 40px;
		}
	</style>

<div class="box">
	动画越来越来越慢,叫缓动动画
</div>
<button>点击有动画效果</button>

js 部分:

<script type="text/javascript">
		var odiv = document.querySelector('.box');
		var obtn = document.querySelector('button');
		function animate(odiv,target,callback){
			clearInterval(odiv.timer);
			odiv.timer = setInterval(function(){
				console.log(1);
				var step = (target - odiv.offsetLeft) / 10 ;// 目标距离-现在的距离
				step = step > 0 ? Math.ceil(step) : Math.floor(step);
				if (odiv.offsetLeft === target) {
					clearInterval(odiv.timer);
					if (callback) {
						callback();
					}
				}
				
				odiv.style.left = odiv.offsetLeft + step + 'px';
				
			},30);			
		}
		obtn.addEventListener('click',function(){
			animate(odiv,1000,function(){
				alert('动画结束');
			})
		})

</script>

思路解析:

目标距离:target:500
第一次 (500-0) /10  =50
第二次 (500-50)/10  =45
第三次  (500-(50+45))/10 =40.5     
 第二次移动结束后div的距离是 95=50+45 也就是第三次开始移动的初始位置
 ...

 当快速点击按钮时:就等于多次调用了方法,计时器一直在叠加。速度越来越块
 解决:
     1、将计时器赋值给对象元素 odiv.timer,再执行计时器时 先停到计时器
     2、小数点问题:向右侧移动(目标值>0)时 向上取整数,让其更接近目标
                     Math.ceil(step)  比如:7.1  向上取 8
                     向左侧移动(目标值<0)时 向下取整数,同理
                     Math.floor(step)  比如:-9.9 向下取 -10
     3、将页面文档的默认的内外编剧清零时 

 增加功能:
     回调函数:动画结束后执行的动作
     触发事件后 
         调用计时器方法时:传递第三个参数 此参数是个函数;
         计时器的方法接收第三个形参,在动画结束后调用这个参数

 

 

 

 

 

我的文章都是学习过程中的总结,如果发现错误,欢迎留言指出,我及时更正。

Python实战:5分钟搞定N-CMAPSS航空发动机数据集解析(附完整代码) 本文提供了一份针对N-CMAPSS航空发动机数据集的快速解析实战指南。通过Python的h5py和Pandas库,详细演示了如何高效读取HDF5格式文件、理解数据结构、提取关键特征(如传感器数据与剩余使用寿命RUL),并整合为可用于预测性维护分析的DataFrame,帮助研究者和工程师快速上手这一重要的工业时序数据集。 阅读详情

相关推荐

基于FPGA的DDR学习——1.基础知识

⚪DDR2(Double Data Rate2)SDRAM是由JEDEC(电子设备工程联合委员会)开发的第三代SDRAM内存技术标准,1.8V工作电压,240线接口,提供了相较于DDR SDRAM更高的运行效能与更低的电压,同样采用在时钟的上升/下降沿同时进行数据传输的基本方式,但拥有两倍于上一代DDR内存预读取能力(即4bit数据预取能力),其常见的频率规范有DDR2 400\533\667\800\1066\1333等,总线频率553MHZ的DDR2内存只需133MHZ的工作频率。

qq_44932488的博客 2070

JavaScript - 缓动动画(移动速度由快到慢)

盒子不是匀速移动的,而是由快到慢,缓缓停下,看起来比较顺滑。

Codefreyy 1368

随机森林模型及案例(Python)

1 集成模型简介 集成学习模型使用一系列弱学习器(也称为基础模型或基模型)进行学习,并将各个弱学习器的结果进行整合,从而获得比单个学习器更好的学习效果。 集成学习模型的常见算法有Bagging算法和Boosting算法两种。 Bagging算法的典型机器学习模型为随机森林模型,而Boosting算法的典型机器学习模型则为AdaBoost、GBDT、XGBoost和LightGBM模型。 1.1 Bagging算法简介 Bagging算法的原理类似投票,每个弱学习器都有一票,最终根据所有弱学习器的投

qq_42433311的博客 4万+

javaScript 实现元素匀速运动 元素缓速运动(先快后慢)

1、实现元素匀速运动  Title #cicle { width: 20px; height: 20px; border-radius: 50%; background-color: #8c0000; position: abs

waterDjj的博客 2021

239号资源-simulink仿真:MATLAB/Simulink教程(PDF文档)-----已提供下载资源

电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.《《《《《《《《更多资源还请持续关注本专栏》》》》》》》《《《《《《《《更多资源还请持续关注本专栏》》》》》》》论文与完整源程序_电网论文源程序的博客-优快云博客。电网论文源程序-优快云博客。

LIANG674027206的博客 1076

机器学习——笔记整理(原理、python代码)——反反复复,出精活!

回顾知识,检查自我,开拓新域。 机器学习1.监督学习 机器学习简介: 机器学习是实现人工智能的手段,其主要研究内容是如何利用数据或经验进行学习,改善具体算法的性能。 多领域交叉,涉及概率论、统计学,算法复杂度理论等多门学科 广泛应用于网络搜索、垃圾邮件过滤、推荐系统、广告投放、信用评价、欺诈检测、股票交易和医疗诊断等应用。 机器学习分类: 机器学习一般分为下面几种类别 监督学习 ( Supervised Learning) 无监督学习 ( Unsupervised Learning) 强化学习(

weixin_45666566的博客 6488

Tween.js动画函数使用demo

Tween.js使用指南、动画函数、数字增长动画

weixin_50367873的博客 328

Qt6.8.0(win64)安装教程

启动 Visual Studio 2022 Community,选择 “继续但无需代码” 运行,然后打开Option设置,Add一条版本配置,Location 选择 D:\Qt\6.8.0\msvc2022_64\bin\qmake,点击确定。我是win11系统,所以选择windows版,下载路径二选一即可。方案1:默认情况下,额外勾选图中两个组件(总共40多G)方案2:按图中自定义勾选组件(总共5.8G)选择Custom Installation。我选的方案2,总共5.81G。

D4G1TIAO的博客 9072

threejs官方demo学习(1):animation

threejs官方demo学习(1):animation

weixin_41897680的博客 3122

Icarus Verilog和GTKwave使用简析

本简要介绍Icarus Verilog和GTKwave的使用,使用iverilog(Icarus Verilog)编译仿真verilog而使用GTKWave查看仿真数据波形下载安装 基本使用 iverilog使用 GTKWave使用 iverilog常用选项 使用库 注意

husipeng86的专栏 1万+

基于Simulink建模仿真的滑模控制的磁悬浮轴承稳定控制仿真

磁悬浮轴承(Magnetic Bearing)利用电磁力来支撑和定位转子,无需机械接触,因此在高速旋转设备中具有广泛应用。滑模控制(Sliding Mode Control, SMC)是一种鲁棒性强的非线性控制方法,适用于磁悬浮轴承的精确控制。以下是基于Simulink的磁悬浮轴承滑模控制系统的详细设计与仿真步骤。通过上述步骤,设计并实现了基于 Simulink 和 Control System Toolbox 的磁悬浮轴承滑模控制系统。

MHD0815的博客 780

前端学习(936):缓动动画原理

歌谣的博客 356

第38节:cesium 风场效果(含源码+视频)

cesium 风场效果

qq_29384639的博客 2331

JavaScript Tween算法及缓动效果javascript

javascript tween算法及缓动效果 flash做动画时会用到tween类,利用它可以做很多动画效果,例如缓动、弹簧等等。 我这里要教大家的是怎么利用flash的tween类的算法,来做js的tween算法,并利用它做一些简单的缓动效果。 实例效果 tween类型: linearquadraticcubicquarticquinticsinusoidal exponentia

chaoxidawang的专栏 2042

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

使用js实现拖动缓动的效果

话不多说,先上效果,一个体验非常好的拖拽缓动的效果,让页面提升一个档次。 这个效果看似很简单,到也困惑了很长时间,为什么别人写出来的拖拽体验为什么这么好? 直到我自己实现了以后,才发现,原来我想的实现方式不对。接下来,我通过简短的几句话,来提供这个功能的实现思路。 首先,我们要明白,我们鼠标拖拽是在一个2d平面上拖拽 2d平面只有x轴和y轴,而且获取的拖拽值也是基于平面的像素获取的。所以,我们第...

现在学习也不晚 2905

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JavaScript Tween算法及缓动效果

Flash做动画时会用到Tween类,利用它可以做很多动画效果,例如缓动、弹簧等等。 我这里要教大家的是怎么利用flash的Tween类的算法,来做js的Tween算法,并利用它做一些简单的缓动效果。 请先来这里看看效果 或者下载实例 效果说明 首先大家到这里下载flash的as脚本(建议看看这里的demo),1.0和2.0都可以(里面的算法都一样)。 例如打开2.0的可以看到几个as文件

剑胆琴心-.Net 学习笔记 713

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

JS实现动画特效2(缓动函数封装、导航栏筋斗云效果)

JS实现的动画特效:手风琴特效展示图片、筋斗云动画小知识1.浏览器的offsetLeft是就近取整,要实现向上取整或向下取整,可以调用Math.ceil()或Math.floor()缓动动画的初级封装函数,为手风琴动画做铺垫实现效果代码HTMLCSSJS缓动动画的高级封装函数,为手风琴动画做铺垫实现效果筋斗云动画实现效果代码HTMLCSSJS 小知识 1.浏览器的offsetLeft是就近取整,要实现向上取整或向下取整,可以调用Math.ceil()或Math.floor() 缓动动画的初级封装函数,为手风

weixin_44584059的博客 1274

SVG-Morpheus高级应用:自定义缓动函数与复杂动画效果实现

SVG-Morpheus是一款强大的JavaScript库,能够让SVG图标平滑地从一个形态过渡到另一个形态,完美实现了Material Design中的动态细节转换效果。本文将深入探讨如何利用SVG-Morpheus创建高级动画效果,重点介绍自定义缓动函数的实现方法以及复杂动画场景的应用技巧。 ## 一、了解SVG-Morpheus的缓动系统 SVG-Morpheus内置了丰富的缓动函数,这

gitblog_01183的博客 638

JavaScript——封装缓动函数案例

<style> #demo{ width: 100px; height: 100px; background-color: #ffdfef; position: absolute; } </style> </head> <body> <input id="btn" type="button" value="点我鸭~"/&

weixin_46360905的博客 249

JavaScript 特效:旋转木马(缓动动画,透明度和层级变化的动画)

demo.html:&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head lang="en"&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;旋转木马轮播图&lt;/title&gt; &lt;link rel="stylesheet" href

houyanhua1的专栏 595

JS飞入飞出动画 加速动画 缓入缓出效果

JS飞入飞出动画 加速动画 换入换出效果 * @param elem {HTMLElement} 执行动画的HTML元素 * @param params {JSON} 动画执行过过程中需要修改的HTML属性 * @param duration {Number} 可选,动画执行时间,单位毫秒 * @param easing {String} 可选,动画执行的方式,缓入easeIn、缓出easeOut

Harry Blog 550

JavaScript 缓动(变速)动画封装:改变多个CSS属性的合成动画

demo.html:&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head lang="en"&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;style&gt; div { pos

houyanhua1的专栏 655

缓动动画原理

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang=...

a63438840的博客 193

html5中canvas的图片缓动效果的原理——积分学的实际应用(原创)

本文系原创文章,转载请注明出处(本人qq空间或博客园或IT EYE的相关文章链接均可)。     相信很多朋友都用过jquery的缓动效果javascript,但对于它的实现毫无头绪,而且缓动函数在各类UI中都很实用,若不清楚其原理,则每一次用其他语言时都需要寻找相应的插件方可,这无疑大大制约了开发人员的创新需求。本文章主要讲解缓动函数的基本原理以及用javascript在ht...

iteye_18055的博客 479

Adobe Edge Animate –弹性的方块-使用tweenmax缓动效果

Adobe Edge Animate –弹性的方块-使用tweenmax缓动效果 版权声明: 本文版权属于 北京联友天下科技发展有限公司。 转载的时候请注明版权和原文地址。 此前有Edge爱好者提出一个疑问:在Edge中有动画的缓动效果,但是如何使用tweenmax来实现这个缓动呢?这是个比较有意思的问题,带着这个疑问查找了网上的一些资料后,做出了一个demo,在此跟各位分享。 一、下载...

weixin_30724853的博客 272

Tween算法及缓动效果

JavaScript Tween算法及缓动效果 Flash做动画时会用到Tween类,利用它可以做很多动画效果,例如缓动、弹簧等等。 我这里要教大家的是怎么利用flash的Tween类的算法,来做js的Tween算法,并利用它做一些简单的缓动效果。 实例效果 Tween类型:   Linear  Quadrati

xuxl2050的专栏 4153
上一篇: 前端 —— JavaScript 基础篇 21 --- 倒计时 demo
下一篇: 前端 —— 原生js -- 省市级联菜单- 有效哦
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值