关于透明度的问题,是不是不兼容IE

来源:4-4 任意属性值(二)

慕粉yazhou

2016-06-30 17:23

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)

}}

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

这句话只判断火狐浏览器,没有判断ie,、

是不是我理解的这样?

写回答 关注

1回答

  • 简以凝
    2016-06-30 22:13:41

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

    在这句程序中,getStyle是封装好的一个函数,里边就已经判断了IE和Firefox浏览器,这对不同的浏览器获取css属性。IE是currentStyle,Firefox是getComputedStyle.

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题