老师写的透明度变化不能实现,大神帮我看看
window.onload=function(){
// var aLi = document.getElementsByTagName('li');
// for(var i=0;i<aLi.length;i++){
// aLi[i].timer = null;
// aLi[i].onmouseover = function(){
// startMove(this,400);
// }
// aLi[i].onmouseout = function(){
// startMove(this,200);
// }
// }
var Li1=document.getElementById('li1');
Li1.onmouseover = function (){
startMove(this,'opacity',100);
}
Li1.onmouseout = function (){
startMove(this,'opacity',30);
}
}
var alpha = 30;
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return getComputedStyle(obj,false)[attr];
}
}
function startMove(obj,attr,iTarget){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var icur = 0;
if(attr == 'opacity'){
icur = parseFloat(getStyle(obj.attr))*100;
}
else{
icur = parseInt(getStyle(obj,attr));
}
var speed = (iTarget-icur)/8;
speed>0?Math.ceil(speed):Math.floor(speed);
if(icur == iTarget){
clearInterval(obj.timer);
}
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)
}
第二个错误是自己一直在增长,可怕