|
@@ -234,45 +234,44 @@ $.effects.animateClass = function( value, duration, easing, callback ) { |
|
|
easing = null; |
|
|
} |
|
|
|
|
|
return this.queue( 'fx', function() { |
|
|
return this.queue(function() { |
|
|
var that = $( this ), |
|
|
originalStyleAttr = that.attr( 'style' ) || ' ', |
|
|
originalStyle = filterStyles( getElementStyles.call( this ) ), |
|
|
newStyle, |
|
|
className = that.attr( 'className' ); |
|
|
className = that.attr( 'class' ); |
|
|
|
|
|
$.each( classAnimationActions, function(i, action) { |
|
|
if ( value[ action ] ) { |
|
|
that[ action + 'Class' ]( value[ action ] ); |
|
|
} |
|
|
}); |
|
|
newStyle = filterStyles( getElementStyles.call( this ) ); |
|
|
that.attr( 'className', className ); |
|
|
|
|
|
that.animate( styleDifference( originalStyle, newStyle ), duration, easing, function() { |
|
|
$.each( classAnimationActions, function( i, action ) { |
|
|
if ( value[ action ] ) { |
|
|
that[ action + 'Class' ]( value[ action ] ); |
|
|
that.attr( 'class', className ); |
|
|
|
|
|
that.animate( styleDifference( originalStyle, newStyle ), { |
|
|
queue: false, |
|
|
duration: duration, |
|
|
easing: easing, |
|
|
complete: function() { |
|
|
$.each( classAnimationActions, function( i, action ) { |
|
|
if ( value[ action ] ) { |
|
|
that[ action + 'Class' ]( value[ action ] ); |
|
|
} |
|
|
}); |
|
|
// work around bug in IE by clearing the cssText before setting it |
|
|
if ( typeof that.attr( 'style' ) == 'object' ) { |
|
|
that.attr( 'style' ).cssText = ''; |
|
|
that.attr( 'style' ).cssText = originalStyleAttr; |
|
|
} else { |
|
|
that.attr( 'style', originalStyleAttr ); |
|
|
} |
|
|
}); |
|
|
// work around bug in IE by clearing the cssText before setting it |
|
|
if ( typeof that.attr( 'style' ) == 'object' ) { |
|
|
that.attr( 'style' ).cssText = ''; |
|
|
that.attr( 'style' ).cssText = originalStyleAttr; |
|
|
} else { |
|
|
that.attr( 'style', originalStyleAttr ); |
|
|
} |
|
|
if ( callback ) { |
|
|
callback.apply( this, arguments ); |
|
|
if ( callback ) { |
|
|
callback.apply( this, arguments ); |
|
|
} |
|
|
$.dequeue( this ); |
|
|
} |
|
|
}); |
|
|
|
|
|
// $.animate adds a function to the end of the queue |
|
|
// but we want it at the front |
|
|
var queue = $.queue( this ), |
|
|
anim = queue.splice( queue.length - 1, 1 )[ 0 ]; |
|
|
queue.splice( 1, 0, anim ); |
|
|
$.dequeue( this ); |
|
|
}); |
|
|
}; |
|
|
|
|
|
0 comments on commit
60d4e0a