私はしばらくこの問題に悩まされてきました。テーブルの行をスムーズにアニメーション化するには、 s が必要であることを知っていますdiv
。そして、私がtablerow
望むものを隠すことができるこの解決策を見つけましたが、再び表示させることはできません。
if ソリューションまたはトグル ソリューションが必要です。
HTML:
<table>
<tbody>
<tr>
<td class="clickme">
Sample text
</td>
<td class="clickme">$10</td>
<td class="clickme">$100</td>
<td class="clickme">$0</td>
</tr>
<tr class="hideme">
<td colspan="4">
<div>
Sample text, sample text, sample text, sample text, sample text, sample text
</div>
</td>
</tr>
<tr>
<td class="clickme">
Sample text
</td>
<td class="clickme">$10</td>
<td class="clickme">$100</td>
<td class="clickme">$0</td>
</tr>
<tr class="hideme">
<td colspan="4">
<div>
Sample text, sample text, sample text, sample text, sample text, sample text
</div>
</td>
</tr>
<tr>
<td class="clickme">
Sample text
</td>
<td class="clickme">$10</td>
<td class="clickme">$100</td>
<td class="clickme">$0</td>
</tr>
<tr class="hideme">
<td colspan="4">
<div>
Sample text, sample text, sample text, sample text, sample text, sample text
</div>
</td>
</tr>
<tr>
<td class="clickme">
Sample text
</td>
<td class="clickme">$10</td>
<td class="clickme">$100</td>
<td class="clickme">$0</td>
</tr>
<tr class="hideme">
<td colspan="4">
<div>
Sample text, sample text, sample text, sample text, sample text, sample text
</div>
</td>
</tr>
</tbody>
</table>
Jクエリ:
$('.hideme').find('div').hide();
$('.clickme').click(function() {
$(this).parent().next('.hideme').find('div').slideToggle(500);
return false;
});
正しいマークアップと Jquery が更新されました。最終的な JSFiddle: http://jsfiddle.net/NVx4S/21/