概述
// 动画里面必须加定位
// 缓动动画
// obj目标对象,traget目标位置
// 回调函数,目前函数接下来要执行的函数
function animate(obj, target, callback) {
// console.log(callback);
callback = function() {}
调用的时候 callback()
// 先清除以前的定时器,只保留当前的一个定时器执行,防止多次点击,速度加快
clearInterval(obj.timer);
obj.timer = setInterval(function() {
// 计算步长
var step = (target - obj.offsetLeft) / 10;
step = step > 0 ? Math.ceil(step) : Math.floor(step);
if (obj.offsetLeft == target) {
// 停止动画 本质是停止定时器
clearInterval(obj.timer);
// 回调函数写到定时器结束里面
// if (callback) {
//
// 调用函数
//
callback();
// }
callback && callback();
}
// 把每次加1 这个步长值改为一个慢慢变小的值
步长公式:(目标值 - 现在的位置) / 10
obj.style.left = obj.offsetLeft + step + 'px';
}, 15);
}
最后
以上就是包容香水为你收集整理的js之animate缓动动画封装(可直接使用)的全部内容,希望文章能够帮你解决js之animate缓动动画封装(可直接使用)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复