//勻速運(yùn)動的封裝
function animate(obj,target,speedTime = 20){
//第一個參數(shù)為對象,第二個參數(shù)是運(yùn)動的目標(biāo)值,第三個參為勻速的時間間隔
clearInterval(obj.timer);
//清除上一次的定時器
obj.timer = setInterval(function(){
//設(shè)置定時器保存對象運(yùn)動的時間
var speed = target -obj.offsetLeft > 0 ? 5 : -5;
//這里設(shè)置它的運(yùn)動距離以及方向,最后一次運(yùn)動時,每次移動的距離 =目標(biāo)值-他的實際運(yùn)動值,
//如果每次移動的距離大于0,說明物體往右走,此時,移動距離取5,相反的時候取-5
if(Math.abs(target - obj.offsetLeft) < 5){
//在這里取絕對值控制它運(yùn)動的距離,只要小于5就可以繼續(xù)運(yùn)動,這樣就不會讓目標(biāo)值只可以取5的參數(shù)
obj.style.left = target + "px";
//當(dāng)他的 物體運(yùn)動的距離 = 他的目標(biāo)距離時,即到達(dá)目的地
clearInterval(timer);
//清除本次定時器,停止此次勻速運(yùn)動
}else{
obj.style.left = obj.offsetLeft + speed + "px";
//物體的距離 = 實際運(yùn)動的值 + 每次移動的距離;程序執(zhí)行一次此處,物體便移動一次
}
},speedTime)
}