From b3ec8edddd9261eef490f8317144e9c68c888819 Mon Sep 17 00:00:00 2001 From: Brandon Aaron Date: Sat, 8 Dec 2007 04:54:53 +0000 Subject: [PATCH] show is now element aware (#960) --- src/fx.js | 13 +++++++------ test/data/testsuite.css | 2 ++ test/unit/core.js | 25 ++++++++++++++++++++++++- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/fx.js b/src/fx.js index 52225c8..c613f93 100644 --- a/src/fx.js +++ b/src/fx.js @@ -6,9 +6,12 @@ jQuery.fn.extend({ }, speed, callback) : this.filter(":hidden").each(function(){ - this.style.display = this.oldblock ? this.oldblock : ""; - if ( jQuery.css(this,"display") == "none" ) - this.style.display = "block"; + this.style.display = this.oldblock || ""; + if ( jQuery.css(this,"display") == "none" ) { + var elem = jQuery("<" + this.tagName + " />").appendTo("body"); + this.style.display = elem.css("display"); + elem.remove(); + } }).end(); }, @@ -20,8 +23,6 @@ jQuery.fn.extend({ this.filter(":visible").each(function(){ this.oldblock = this.oldblock || jQuery.css(this,"display"); - if ( this.oldblock == "none" ) - this.oldblock = "block"; this.style.display = "none"; }).end(); }, @@ -417,4 +418,4 @@ jQuery.fx.step = { _default: function(fx){ fx.elem.style[ fx.prop ] = fx.now + fx.unit; } -}; +}; \ No newline at end of file diff --git a/test/data/testsuite.css b/test/data/testsuite.css index b15f5ef..4801bec 100644 --- a/test/data/testsuite.css +++ b/test/data/testsuite.css @@ -113,3 +113,5 @@ div.chain.test div { background: green; } div.chain.out { background: green; } div.chain.out div { background: red; display: none; } + +div#show-tests * { display: none; } \ No newline at end of file diff --git a/test/unit/core.js b/test/unit/core.js index 7ba7eb5..533fcef 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1106,12 +1106,35 @@ test("prev([String])", function() { }); test("show()", function() { - expect(1); + expect(15); var pass = true, div = $("div"); div.show().each(function(){ if ( this.style.display == "none" ) pass = false; }); ok( pass, "Show" ); + + $("#main").append('

'); + var test = { + "div" : "block", + "p" : "block", + "a" : "inline", + "code" : "inline", + "pre" : "block", + "span" : "inline", + "table" : $.browser.msie ? "block" : "table", + "thead" : $.browser.msie ? "block" : "table-header-group", + "tbody" : $.browser.msie ? "block" : "table-row-group", + "tr" : $.browser.msie ? "block" : "table-row", + "th" : $.browser.msie ? "block" : "table-cell", + "td" : $.browser.msie ? "block" : "table-cell", + "ul" : "block", + "li" : $.browser.msie ? "block" : "list-item" + }; + + $.each(test, function(selector, expected) { + var elem = $(selector, "#show-tests").show(); + equals( elem.css("display"), expected, "Show using correct display type for " + selector ); + }); }); test("addClass(String)", function() { -- 1.7.10.4