JS实现的缓冲运动动画效果示例
这篇文章主要介绍了JS实现的缓冲运动效果,涉及JavaScript数值运算与时间函数相关使用技巧。
1.缓冲需要用到数值取整
向上取整:Math.ceil()
向下取整Math.floor()
移动的速度逐渐减慢的效果,移动速度=(终点位置 - 当前位置) / 一个数。
function animate1(ele,target){
clearInterval(ele.timer);
var speed = target>ele.offsetLeft?3:-3;
ele.timer = setInterval(function () {
var val = target - ele.offsetLeft;
ele.style.left = ele.offsetLeft + speed + "px";
console.log(val);
if(Math.abs(val)<=Math.abs(speed)){
ele.style.left = target + "px";
clearInterval(ele.timer);
}
},30);
}
2. 网页中的动画,在css中我们已经可以使用一些元素属性快速的做出来,但是有时候考虑到各种浏览器的兼容性问题我们还是需要使用js来制作网页中的动画。
var osTop = document.documentElement.scrollTop+document.body.scrollTop;
if(osTop >=clientHeight){
obtn.style.display = 'block';
}else{
obtn.style.display = 'none';
}
3 使用js做动画最重要的一个函数就是setInterval函数
setInterval是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。