问答详情
源自:4-4 任意属性值(二)

currentStyle在浏览器里报错,可是不知道错哪儿。大神求看

<script type="text/javascript">

window.onload=function(){

var Li1=document.getElementById('li1');

var Li2=document.getElementById('li2');

Li1.onmouseover=function(){

startMove(this,'opacity',100);

}

Li1.onmouseout=function(){

startMove(this,'opacity',30);

}


}

function getStyle(obj, attr){ 

if(obj.currentStyle){ 

return obj.currentStyle[attr]; 

}

else{return getComputedStyle(obj,false)[attr];

// var timer=null;

var alpha=30;

function startMove(obj,attr,iTarget){

clearInterval(obj.timer);

obj.timer=setInterval(function(){

var icur=0;

if(attr=='opacity'){

icur=Math.round(parseFloat(getStyle(obj.attr))*100);

}

else{

icur=parseInt(getStyle(obj,attr));

}

var speed=(iTarget-icur)/8;

speed=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)

}

</script>


提问者:lin琳琳bilibili 2016-11-18 19:21

个回答

  • 慕娘3064969
    2016-11-18 23:32:31

    在startmove函数里icur=Math.round(parseFloat(getStyle(obj.attr))*100);中(obj.attr)是逗号,细点心