jQuery等のライブラリを使うと、様々な視覚効果やアニメーションを簡単に行う事が出来ます。
例えば、
これを実現するのに、たった1行で出来るのです。
$("#sample_img01").slideToggle();
ところが、テーブルの行(TR要素)を同じようにスライドさせようとすると、うまくいきません。
Firefoxでは、「非表示」を選択すると、一旦全てのセルが左端のセルに収まってからスライドアップします。「表示」にするとアニメーションしながらスライドダウンしますが、左端のセルに行の全てが収まってしまって、表自体が崩れます。
IEでは表の構造は崩れませんが、そもそもアニメーションしてくれません。単に表示/非表示が切り替わるだけで、非表示になる時は微妙に上下に振動したりします。消えるまでのタイムラグもあります。
スライドアニメーションを使わず、単純に表示/非表示を切り替えるだけなら、テーブルの行であっても問題なく動作します。
しかし、どうしてもスライドアニメーションを実現したい場合もあります。そういう時は、CSSとHTMLの組み方、そしてjQuery関数を呼び出すタイミングを調整すると、きれいにアニメーションを行う事が出来ます。
出来ました。解説は次回に詳しく。