//經(jīng)過(guò)測(cè)試發(fā)現(xiàn)getStyle(obj,'opactiy')是沒(méi)有的,所以后面的都錯(cuò)了,但不知道哪里出錯(cuò)了。。。
window.onload?=?function(){
var?aLi?=?document.getElementsByTagName('li');
for(var?i=0;?i?<?aLi.length;?i++)
{
aLi[i].timer?=?null;
aLi[i].onmouseover?=?function(){
var?_this?=?this;
startMove(_this,'width',400,function(){
startMove(_this,'height',400,function(){
startMove(_this,'opactiy',100);//前面都可以,就這個(gè)改變不了
});
});
}
aLi[i].onmouseout?=?function(){
var?_this?=?this;
//這里若加上變透明度的直接全部運(yùn)行都恢復(fù)不了
startMove(_this,'height',100,function(){
startMove(_this,'width',200);
});
}
}
}
function?startMove(obj,attri,iTarget,fn)
{
clearInterval(obj.timer);
obj.timer=setInterval(function()
{
var?ic=0;
??if?(attri?==?'opactiy')
??{
?????ic=Math.round(parseFloat(getStyle(obj,attri))*100)
??}
??else
??{
?????????????ic=parseInt(getStyle(obj,attri));
??}
var?speed=(iTarget-ic)/8;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if?(ic==iTarget){
clearInterval(obj.timer);
if?(fn){
fn();
}
}
else
{
if(attri=='opacity')
{
obj.style.opacity?=?(ic+speed)/100;
obj.style.filter='alpha(opacity:'+ic+speed+')';
} ?
else{
obj.style[attri]=ic+speed+'px';
}
?}
},30)
}
//獲取函數(shù)
function?getStyle(obj,attri){
if(obj.currentStyle){
return?obj.currentStyle[attri];//針對(duì)ie瀏覽器
}
else{
????return?getComputedStyle(obj,false)[attri];//針對(duì)firefox瀏覽器
}
}
2016-07-06
第三個(gè)的opacity寫(xiě)錯(cuò)了