js之左右移动的动画的函数封装
function move(ele,end,step){
//var step = 10
//先清除定时器,从而防止定时器的叠加
clearInterval(timer);
//设置定时器
//1.获取起点
var start = parseInt(getStyle(ele,'left'));//1000
//2.处理步长
if(end > start){
step = step
}
else if(end < start){
step = -step;//10 由于我们将step的处理代码放在了定时器中,导致定时器会将step先转换为负数,之后,再进行取负
}
timer = setInterval(function(){
//让div向前走一步
//3.迈出第一只脚 计算下一步落点
start += step;//990
//5.到终点结束
if(start>=end&&step>0){//当前判断只是用来判断正向移动
//如果步长为正 表示运动方向为正方向,这时如果下一步位置大于等于终点,才叫到达终点
start = end;
clearInterval(timer);
}else if(start<=end && step<0){
//如果步长为负,表示运动方向为反方向,这是如果下一步位置小于等于终点,才叫到达终点
start = end;
clearInterval(timer);
}
//4.迈出第二只脚 定位div
ele.style.left = start + 'px'
},20)
}
本文来自博客园,作者:JackieDYH,转载请注明原文链接:https://www.cnblogs.com/JackieDYH/p/17634803.html