function getstyle(obj,name){ //本函数的作用:获取值,代替offset家族
if(obj.currentStyle){
return obj.currentStyle[name];
}
else{
return getComputedStyle(obj,false)[name];
}
}
function move(obj,o,refn){//obj:对象
//o:所要设置的属性
//refn:回调函数(分步执行)
clearInterval(obj.timer);
obj.timer=setInterval(function(){
//i:属性名 o{i}:属性值
// for(var i in o){
// }
var stop=true;//布尔值//关
for(var attr in o){
var now=0;//当前的属性值
if(attr=='opacity'){
now=parseFloat(getstyle(obj,attr))*100;
}else{
now=parseInt(getstyle(obj,attr));
}
var speed=(o[attr]-now)/10;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(now!==o[attr]){
stop=false;//不关闭定时器
}
if(attr=='opacity'){
obj.style.filter='alpha(opacity:'+(now+speed)+')';
obj.style.opacity=(now+speed)/100;
}
else{
obj.style[attr]=now+speed+'px';//等号后面的属性值不用加obj
}
}
if(stop){
clearInterval(obj.timer);
if(refn){//判断是否有回调函数,回调函数可看成参数进行传递
refn();
}
}
},20);
}
if(obj.currentStyle){
return obj.currentStyle[name];
}
else{
return getComputedStyle(obj,false)[name];
}
}
function move(obj,o,refn){//obj:对象
//o:所要设置的属性
//refn:回调函数(分步执行)
clearInterval(obj.timer);
obj.timer=setInterval(function(){
//i:属性名 o{i}:属性值
// for(var i in o){
// }
var stop=true;//布尔值//关
for(var attr in o){
var now=0;//当前的属性值
if(attr=='opacity'){
now=parseFloat(getstyle(obj,attr))*100;
}else{
now=parseInt(getstyle(obj,attr));
}
var speed=(o[attr]-now)/10;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(now!==o[attr]){
stop=false;//不关闭定时器
}
if(attr=='opacity'){
obj.style.filter='alpha(opacity:'+(now+speed)+')';
obj.style.opacity=(now+speed)/100;
}
else{
obj.style[attr]=now+speed+'px';//等号后面的属性值不用加obj
}
}
if(stop){
clearInterval(obj.timer);
if(refn){//判断是否有回调函数,回调函数可看成参数进行传递
refn();
}
}
},20);
}