diff options
author | timmywil <timmywillisn@gmail.com> | 2012-01-20 14:17:02 -0500 |
---|---|---|
committer | timmywil <timmywillisn@gmail.com> | 2012-01-20 14:17:19 -0500 |
commit | e8673ae1aafe16a8a7f855958f545c710bf8133e (patch) | |
tree | 0fa2cf3257804215f7d8966293bd9dce7d24178b | |
parent | 135bb4ff812d9f97b961670ad9c4ed9d14f333bb (diff) | |
download | jquery-e8673ae1aafe16a8a7f855958f545c710bf8133e.tar.gz jquery-e8673ae1aafe16a8a7f855958f545c710bf8133e.zip |
When stopping a show, save showing end state instead of start state to fix animation toggling issue. Fixes #10848.
-rw-r--r-- | src/effects.js | 8 | ||||
-rw-r--r-- | src/support.js | 7 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/effects.js b/src/effects.js index 6716e616a..346438174 100644 --- a/src/effects.js +++ b/src/effects.js @@ -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 ); + } } }; diff --git a/src/support.js b/src/support.js index e881b040e..291089e2c 100644 --- a/src/support.js +++ b/src/support.js @@ -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 ); }); |