function move(obj,attr,target,time,step){
//取消定时器
if(obj.timer){
clearInterval(obj.timer);
}
//给形参赋默认值
if(!time){
time=10
}
if(!step){
step =10;
}
//console.log(step);
obj.timer=setInterval(function(){
//console.log("--");
//获取属性当前的值
//大小,宽高,位移
var iCur= getStyle(obj,attr);
//console.log(iCur+" "+target);
//处理透明度的问题
if(attr=="opacity"){
iCur= parseFloat(getStyle(obj,attr));
}else{
iCur= parseInt(getStyle(obj,attr));
}
//添加一个变量,用来记录当前值和目标值之间的差
//如果这个差>0, + ,如果这个差<0, -
var speed= (target-iCur)/step;
//console.log(iCur+ " "+speed);
speed= speed>0?Math.ceil(speed):Math.floor(speed);
//修改当前值
if(iCur!=target){
if(attr=="opacity"){
obj.style[attr]= iCur+ speed;
//console.log(iCur+ step);
//console.log(attr+" "+(iCur+ step)+" "+obj.style[attr]);
}else{
obj.style[attr]= iCur+ speed +"px";
}
}else{
clearInterval(obj.timer);
}
},time);
}
function getStyle(obj,attr){
//获取对象obj的属性attr的值
//大小,宽高,位移
var val;
if(window.getComputedStyle){//>=ie9 && !ie
val= window.getComputedStyle(obj,null)[attr];
}else{//<ie9 ie
val= obj.currentStyle[attr];
}
return val;
}
运动函数(二)
最新推荐文章于 2022-05-02 11:05:40 发布