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

本文介绍了一个前端JavaScript缓动动画的实现,通过示例代码详细讲解了动画效果的逻辑,包括如何处理快速点击按钮导致的计时器叠加问题,以及针对小数点的处理策略。同时,增加了回调函数功能,以便在动画结束后执行特定操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

<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) {
					c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值