Fixed the opacity problems with IE & animations.

This commit is contained in:
John Resig 2006-07-24 03:50:15 +00:00
parent 29a0591421
commit 9e37da96d1
2 changed files with 10 additions and 8 deletions

View file

@ -172,8 +172,7 @@ jQuery.extend({
// Get next function // Get next function
var f = elem.queue[type][0]; var f = elem.queue[type][0];
if ( f ) if ( f ) f.apply( elem );
f.apply( elem );
} }
}, },
@ -205,11 +204,12 @@ jQuery.extend({
if (z.now == 1) z.now = 0.9999; if (z.now == 1) z.now = 0.9999;
if (window.ActiveXObject) if (window.ActiveXObject)
y.filter = "alpha(opacity=" + z.now*100 + ")"; y.filter = "alpha(opacity=" + z.now*100 + ")";
y.opacity = z.now; else
y.opacity = z.now;
// My hate for IE will never die // My hate for IE will never die
} else if ( parseInt(z.now) ) } else if ( parseInt(z.now) )
y[prop] = parseInt(z.now) + "px"; y[prop] = parseInt(z.now) + "px";
}; };
// Figure out the maximum number to run to // Figure out the maximum number to run to
@ -219,7 +219,7 @@ jQuery.extend({
// Get the current size // Get the current size
z.cur = function(){ z.cur = function(){
return parseFloat( jQuery.curCSS(z.el,prop) ) || z.max(); return parseFloat( jQuery.curCSS(z.el, prop) ) || z.max();
}; };
// Start an animation from one number to another // Start an animation from one number to another
@ -266,7 +266,7 @@ jQuery.extend({
// IE has trouble with opacity if it does not have layout // IE has trouble with opacity if it does not have layout
if ( jQuery.browser.msie && !z.el.currentStyle.hasLayout ) if ( jQuery.browser.msie && !z.el.currentStyle.hasLayout )
y.zoom = 1; y.zoom = "1";
// Remember the overflow of the element // Remember the overflow of the element
z.oldOverflow = y.overflow; z.oldOverflow = y.overflow;
@ -299,7 +299,8 @@ jQuery.extend({
// Reset the property, if the item has been hidden // Reset the property, if the item has been hidden
if ( z.o.hide ) if ( z.o.hide )
y[ prop ] = z.el.orig[ prop ].constructor == Number && prop != "opacity" ? z.el.orig[prop] + "px" : z.el.orig[prop]; y[ prop ] = z.el.orig[ prop ].constructor == Number && prop != "opacity" ?
z.el.orig[prop] + "px" : z.el.orig[prop];
// set its height and/or width to auto // set its height and/or width to auto
jQuery.setAuto( z.el, prop ); jQuery.setAuto( z.el, prop );

3
jquery/jquery.js vendored
View file

@ -1176,7 +1176,8 @@ jQuery.extend({
}); });
return p == "height" ? oHeight : oWidth; return p == "height" ? oHeight : oWidth;
} } else if ( p == "opacity" && jQuery.browser.msie )
return parseFloat( jQuery.curCSS(e,"filter").replace(/[^0-9.]/,"") ) || 1;
return jQuery.curCSS( e, p ); return jQuery.curCSS( e, p );
}, },