コールバックを使用して最初の効果が完了した後に2番目の効果が実行されるように、2つの効果を連鎖させる方法を知っています。そのように;
$("#target").fadeOut('slow',function(){
$(this).slideUp('slow');
});
したがって、これは機能し、divが上にスライドする前に最初にフェードアウトします。ajax呼び出しが成功した後、fadeOutが終了した後、slideUpを発生させたいのですが、次のコードを実行すると、ajaxリクエストがすぐに発生し、fadeOutが終了する前にslideUpになります。
$.ajax({
/** settings **/
beforeSend: function() {
$("#target").fadeOut('slow');
},
success: function() {
$("#target").slideUp('slow');
},
error: function() {
$("#target").fadeIn('slow');
}
});
成功コールバックでjQueryに、fadeOutが完了した後にslideUpを実行するように指示するにはどうすればよいですか。
私はこれを試しました。
$("#target").queue(function(){
$(this).slideUp('slow');
});
しかし、それはうまくいきませんでした。