问答详情
源自:2-2 JS透明度动画

代码如下,但IE没有动画效果,有大神可以解释下吗?

window.onload=drag;

function drag(){

var div1=document.getElementById('div1');

div1.onmouseover=function(){changeOpacity(100);}

div1.onmouseout=function(){changeOpacity(20);}

}

var timer=null;

var alpha=20;

function changeOpacity(num){

var div1=document.getElementById('div1');

clearInterval(timer);

timer=setInterval(function(){

    var speed=0;

if(num>alpha){speed=10;} else{speed=-10;}

if(alpha==num){clearInterval(timer);}else{

alpha+=speed;

div1.style.filter='alpha(opacity:'+alpha+')';

div1.style.opacity=alpha/100;}

},50);

}


提问者:yiyi30 2016-01-07 16:48

个回答

  • lylhao
    2016-03-11 14:55:37

    把js放到body的最底部,试试

  • 溜溜六
    2016-03-01 09:35:09

    我和你写的一样,可是我的当鼠标移到上面去的时候,透明度会变为1.可是移出的时候却没有效果。你解决这个问题了吗?

  • yiyi30
    2016-01-07 18:17:51

    div1.style.filter='alpha(opacity:'+alpha+')';不就是专门为IE写的吗?IE7-IE9 都不行。

  • 那一抹雪_墨
    2016-01-07 17:09:08

    浏览器兼容问题吧,IE的兼容性不是很好。