Make sure that animated show resets the display correctly. Fixes #5130.

This commit is contained in:
jeresig 2009-12-05 21:06:14 -05:00
parent 2d27e053a0
commit 3c89e38fc2
2 changed files with 40 additions and 1 deletions

View file

@ -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";
}

View file

@ -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();