為什么智能實(shí)現(xiàn)opacity的替換
// JavaScript Document
function startmove(obj,attr,iTarget,fn){
clearInterval(obj.timer);
obj.timer=setInterval(function(){
//取當(dāng)前的值
var icur=0;
if(attr=='opacity'){
icur=Math.round(parseFloat(getStyle(obj,attr))*100);
}
else{
icur=parseInt(getStyle(obj,attr));
}
//2算速度
var speed=(iTarget-icur)/8;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
//3.檢測(cè)停止
if(icur==iTarget){
clearInterval(obj.timer);
if(fn){
fn();}
}
else{?
if(attr='opacity'){
obj.style.filter='alpha(opacity:'+(icur+speed)+')';
obj.style.opacity=(icur+speed)/100;
}else{
obj.style[attr]=icur+speed+'px';
}
}
},30)
}
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return getComputedStyle(obj,false)[attr];
}
}
2017-08-04
//取當(dāng)前的值
//3.檢測(cè)停止
上面的代碼都判斷了有opacity的情況,并在條件語(yǔ)句中做出了反應(yīng)。