各行に 2 つのセルがあるテーブルがあります。1 つ目はデータを含み、2 つ目は入力ボタン「編集」と「削除」を含みます。この目立たない ajax を作成するために、次のコードを使用しています。
<tr>
<td>I have some data for you</td>
<td>
<a href="edit" class="edit"><input type="button" value="Edit" /></a>
<a href="delete" class="delete"><input type="button" value="Delete" /></a>
</td>
</tr>
$("a.edit").live("click",function(){
$tr = $(this).parent().parent();
$tr.children().fadeOut(400,function(){
$tr.loadingGif(function(){
$tr.ajaxGetEditForm();
});
});
return false;
});
.loadingGif() は、背景を黄色にして「読み込み中」の gif を提供する単なる関数です。ajaxGetEditForm() は Ajax 呼び出しを行い、古いデータを編集入力フォームに置き換える関数です。
期待どおりに機能しますが、これらのイベントを連鎖させるためのよりクリーンな方法ですか? 私が $tr.children().fadeOut().parent().isLoading()... を持っているとき... javascript は関数を通過するだけです。IE 次のアニメーションを開始する前に、fadeOut アニメーションが終了するのを待ちたいと思います。