When stopping a show, save showing end state instead of start state to fix animation toggling issue. Fixes #10848.

This commit is contained in:
timmywil
2012-01-20 14:17:02 -05:00
parent 135bb4ff81
commit e8673ae1aa
2 changed files with 10 additions and 5 deletions

8
src/effects.js vendored
View File

@@ -462,8 +462,12 @@ jQuery.fx.prototype = {
t.queue = this.options.queue;
t.elem = this.elem;
t.saveState = function() {
if ( self.options.hide && jQuery._data( self.elem, "fxshow" + self.prop ) === undefined ) {
jQuery._data( self.elem, "fxshow" + self.prop, self.start );
if ( jQuery._data( self.elem, "fxshow" + self.prop ) === undefined ) {
if ( self.options.hide ) {
jQuery._data( self.elem, "fxshow" + self.prop, self.start );
} else if ( self.options.show ) {
jQuery._data( self.elem, "fxshow" + self.prop, self.end );
}
}
};

View File

@@ -167,7 +167,7 @@ jQuery.support = (function() {
// avoid an eval call (in setAttribute) which can cause CSP
// to go haywire. See: https://developer.mozilla.org/en/Security/CSP
if ( div.attachEvent ) {
for( i in {
for ( i in {
submit: 1,
change: 1,
focusin: 1
@@ -222,6 +222,7 @@ jQuery.support = (function() {
// hidden; don safety goggles and see bug #4512 for more information).
// (only IE 8 fails this test)
div.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";
tds = div.getElementsByTagName( "td" );
isSupported = ( tds[ 0 ].offsetHeight === 0 );
@@ -278,7 +279,7 @@ jQuery.support = (function() {
offsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 );
offsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop );
if( window.getComputedStyle ) {
if ( window.getComputedStyle ) {
div.style.marginTop = "1%";
support.pixelMargin = ( window.getComputedStyle( div, null ) || { marginTop: 0 } ).marginTop !== "1%";
}
@@ -288,7 +289,7 @@ jQuery.support = (function() {
}
body.removeChild( container );
div = container = null;
div = container = null;
jQuery.extend( support, offsetSupport );
});