JS函式動畫(緩衝上下左右運動)封裝
阿新 • • 發佈:2018-12-14
function easeMove(obj,attr,targetPos,speedEnd,time){ clearInterval(obj.timer) obj.timer = setInterval(function(){ var attrValue = parseInt(getStyle(obj,attr)); var speed = Math.abs(targetPos - attrValue)/speedEnd speed = speed>0?Math.ceil(speed):Math.floor(speed); if(attrValue == targetPos){ clearInterval(obj.timer); }else{ obj.style[attr] = attrValue + speed + "px"; } console.log(getStyle(obj,attr)); },time) }
//獲得CSS樣式屬性值:
function getStyle(obj,attr){
if(obj.currentStyle){
//支援IE
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj)[attr];
}
}