2010-07-29 6 views
2

Quelqu'un peut-il me dire pourquoi lors de l'utilisation $('tr').slideDown('slow'); il provoque la ligne du tableau pour oublier sa largeur, hauteur, etc

et s'il ya un moyen de résoudre ce problème?

+0

duplication possible de [jQuery - Comment utiliser la fonction slideDown (ou show) sur une ligne de table?] (Http://stackoverflow.com/questions/467336/jquery-how-to-use-slidedown-or-show -fonction-sur-une-table-rangée) –

Répondre

4

Les animations ne sont pas prises en charge sur les lignes de table.
Emily tapé here
vous pouvez mettre le contenu dans un div à l'intérieur du td et de faire un slideDown sur la div ...

+1

http://jsfiddle.net/MfDTV/2/ – Hailwood

0

Je suppose que c'est parce que le code d'animation jQuery a tendance à supposer qu'il peut utiliser display: block pour les éléments qui semblent être des éléments de niveau bloc. Pour un <tr> ce serait mauvais, car il veut être display: table-row (je pense, quelque chose comme ça).

2

je fixe même problème avec l'ajout div dans la table en cours ligne-> cellules (TR-> TD).

Ma table exemple:

<table> 
<tr id='row_1'> 
    <td><div>element 1</div></td> 
    <td><div>element 2</div></td> 
    <td><div>element 3</div></td> 
</tr> 
<tr id='row_2'> 
    <td><div>element 1</div></td> 
    <td><div>element 2</div></td> 
    <td><div>element 3</div></td> 
</tr> 
<tr id='row_3'> 
    <td><div>element 1</div></td> 
    <td><div>element 2</div></td> 
    <td><div>element 3</div></td> 
</tr> 
</table> 

Ensuite, si vous avez besoin de cette marque:

$('#row_1').slideDown(); // Make this onclick or some other event 
$('#row_1').slideUp(); // Make this onclick or some other event 

Vous devez faire:

$('#row_1 div').slideDown(); // Make this onclick or some other event 
$('#row_1 div').slideUp(); // Make this onclick or some other event 

Quelques lignes de code plus, mais na pas trouvé un autre façon de résoudre cela.

Questions connexes