JS简单的动画函数的封装(基于步长)

本文介绍了如何封装JavaScript的匀速和缓动动画函数。对于匀速动画,参数包括运动对象和目标值;缓动动画则涉及对象、多个属性值及回调函数的应用。
摘要由CSDN通过智能技术生成

1.匀速动画函数的封装 

obj指的是运动的对象,target指的是运动对象的目标值。

function animate(obj,target) {
				clearInterval(obj.timer);
				//先判断是往前走还是往回走
				var speed = target - obj.offsetLeft>0? 5: -5;
				obj.timer = setInterval(function(){
					var result = target - obj.offsetLeft;
//这是目标值200 与obj盒子左侧的offsetLeft值的差,并且这两者的差值不会超过5,因为每次都是offsetLeft的值+5或者-5.
					obj.style.left = obj.offsetLeft + speed +"px";
					if(Math.abs(result) <= 5) {
// 这里是result取绝对值,因为当target<=obj.offsetLeft时,result是个负值。
						clearInterval(obj.timer);
						obj.style.left = target +"px";
// 有可能会出现最后一步是198或者203的情况,所以最后都让这个盒子停在offsetLeft = 200的位置上。
					}
				}, 30);
			}

2.缓动动画函数的封装

obj指的是运动的对象,json指的是多个属性值,fn指的是回调函数。


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值