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

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

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,、

是不是我理解的这样?

提问者:慕粉yazhou 2016-06-30 17:23

个回答

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

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

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