2011-08-31 7 views
1

J'ai un élément masqué $myHiddenElement. Maintenant, si je`.show()` comportement incohérent (bug?)

$myHiddenElement.show();

tout est OK. Cependant, si je

$myHiddenElement.show(300);

alors $myHiddenElement obtient l'attribut display: block; qui endommage ma mise en page.

+0

oui, mais sans code, nous ne pouvons rien faire – genesis

+0

Quel type d'élément est votre élément caché? Un élément de bloc? – m90

+0

poster un peu de html s'il vous plaît. –

Répondre

2

Il semble y avoir un bug jQuery (dans les anciennes versions) qui pourrait être à l'origine de ce problème. Voir: http://jsfiddle.net/Ux8xL/1/ fonctionnant avec 1.6.2 alors que lorsque vous revenez au 1.2.6 (http://jsfiddle.net/Ux8xL/2/) il ne prend pas en compte la règle d'affichage en ligne du CSS.

EDIT: Je suppose que votre élément masqué est un élément de bloc défini sur le comportement en ligne. En cas non:

1

Il utilise display: block; pour créer l'animation, c'est pourquoi il vient seulement quand vous mettez une minuterie dessus. Fondamentalement, vous devriez simplement pouvoir flotter: left et afficher: block sur l'élément - ce qui produirait le même affichage que display: inline-block ou tout ce que vous utilisez maintenant.

Questions connexes