diff options
author | jeresig <jeresig@gmail.com> | 2009-12-05 21:06:14 -0500 |
---|---|---|
committer | jeresig <jeresig@gmail.com> | 2009-12-05 21:06:14 -0500 |
commit | 3c89e38fc26ef40797b83ba8ef4f8329b08afe75 (patch) | |
tree | 91338a29b8198dadc3e4c4cd013f307deebc3d96 | |
parent | 2d27e053a0e6ab4917a4f79918b58257600c5b82 (diff) | |
download | jquery-3c89e38fc26ef40797b83ba8ef4f8329b08afe75.tar.gz jquery-3c89e38fc26ef40797b83ba8ef4f8329b08afe75.zip |
Make sure that animated show resets the display correctly. Fixes #5130.
-rw-r--r-- | src/fx.js | 4 | ||||
-rw-r--r-- | test/unit/fx.js | 37 |
2 files changed, 40 insertions, 1 deletions
@@ -359,7 +359,9 @@ jQuery.fx.prototype = { this.elem.style.overflow = this.options.overflow; // Reset the display - this.elem.style.display = this.options.display; + var old = jQuery.data(this.elem, "olddisplay"); + this.elem.style.display = old ? old : this.options.display; + if ( jQuery.css(this.elem, "display") == "none" ) { this.elem.style.display = "block"; } diff --git a/test/unit/fx.js b/test/unit/fx.js index 5b97dc33f..9b2f9d8b1 100644 --- a/test/unit/fx.js +++ b/test/unit/fx.js @@ -41,6 +41,43 @@ test("show()", function() { }); }); +test("show(Number) - other displays", function() { + expect(15); + reset(); + stop(); + + jQuery("#main").append('<div id="show-tests"><div><p><a href="#"></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div>'); + + var old = jQuery("#show-tests table").show().css("display") !== "table", + num = 0; + + var test = { + "div" : "block", + "p" : "block", + "a" : "inline", + "code" : "inline", + "pre" : "block", + "span" : "inline", + "table" : old ? "block" : "table", + "thead" : old ? "block" : "table-header-group", + "tbody" : old ? "block" : "table-row-group", + "tr" : old ? "block" : "table-row", + "th" : old ? "block" : "table-cell", + "td" : old ? "block" : "table-cell", + "ul" : "block", + "li" : old ? "block" : "list-item" + }; + + jQuery.each(test, function(selector, expected) { + var elem = jQuery(selector, "#show-tests").show(1, function() { + equals( elem.css("display"), expected, "Show using correct display type for " + selector ); + if ( ++num === 15 ) { + start(); + } + }); + }); +}); + test("animate(Hash, Object, Function)", function() { expect(1); stop(); |