aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/fx.js13
-rw-r--r--test/data/testsuite.css2
-rw-r--r--test/unit/core.js25
3 files changed, 33 insertions, 7 deletions
diff --git a/src/fx.js b/src/fx.js
index 52225c8a4..c613f938d 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 b15f5ef7f..4801becd6 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 7ba7eb5da..533fcef2d 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('<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 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() {