JS如何实现添加缓动画(JS,开发技术)

时间:2024-05-04 22:38:56 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

需要实现的效果:点击移动到600按钮之后下面的div会由快到慢移动到600px,点击移动到800之后又会移动到800px,又点击移动600的时候会倒回去移动到600px。

JS如何实现添加缓动画

首先需要实现第一个功能:

1.缓动画实现,缓动画实现思路如下:

JS如何实现添加缓动画

2.需要避免小数的出现,如果直接将上面的公式作为距离的话会出现小数,如果移动的距离是正数的话需要向上取整,如果移动的距离是负数(比如由800px移动到600px)的话需要向下取整。

完整代码:

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>缓动画</title><style>div{position:absolute;top:50px;left:0px;width:200px;height:200px;background-color:pink;}</style><script>window.addEventListener('load',function(){functionmove(obj,target,callback){window.clearInterval(obj.timer);obj.timer=window.setInterval(function(){//把步长值改为整数,不要出现小数的情况往上取整varstep=(target-obj.offsetLeft)/10;step=step>0?Math.ceil(step):Math.floor(step);//回调函数写在清除定时器里面if(obj.offsetLeft>=target){window.clearInterval(obj.timer);if(callback){callback();}}else{obj.style.left=obj.offsetLeft+step+'px';//console.log(obj.style.left);}},15)}vardiv=document.querySelector('div');varbtn600=document.querySelector('.btn600');btn600.addEventListener('click',function(){move(div,600)})varbtn600=document.querySelector('.btn800');btn600.addEventListener('click',function(){move(div,800,function(){div.style.backgroundColor='violet'})})})</script></head><body><buttonclass="btn600">点击移动600</button><buttonclass="btn800">点击移动800</button><div></div></body></html>
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:JS如何实现添加缓动画的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Python读取分割压缩TXT文本文件实例下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18