jQueryでアニメーションが終了するまではどうすればいいですか?jQueryエフェクトが終了するまで待つ方法は?
function foo() {
$("#element").fadeOut();
}
は、私は、呼び出し元のコードは、DOMが#element
がないことを期待しているため.fadeOut()
がfoo()
返す前に完了する必要があります。
jQueryでアニメーションが終了するまではどうすればいいですか?jQueryエフェクトが終了するまで待つ方法は?
function foo() {
$("#element").fadeOut();
}
は、私は、呼び出し元のコードは、DOMが#element
がないことを期待しているため.fadeOut()
がfoo()
返す前に完了する必要があります。
すべてのjQueryアニメーション関数には、complete
コールバックがあります。彼らは非同期なので、はそれらのためにを待つことができません、あなたはコールバックを使用する必要があります。そううまく動作するはずのコールバックを使用して、.fadeOut([duration ] [, complete ])
:
function foo() {
$("#element").fadeOut(function() {
// finished
});
}
はjQueryのは、としてフェードアウトを定義します。
完全型:機能()一致した要素につき1回呼び出される のアニメーションを呼び出す関数です。
あなたはアニメーションが終了する前に戻ってからfoo
を防ぐことはできません。この
function foo() {
$("#element").fadeOut('slow', function(){
// called when the element finishes fading out
});
}
のためのコールバック関数を使用します。コールバックまたは約束/延期パターンを使用する必要があります。ここでは、コールバックは、仕事ができる方法は次のとおりです。
function bar() {
foo(function() {
// stuff to execute after foo()
});
}
function foo(callback) {
$("#element").fadeOut('speed', callback);
}
$('#element').fadeOut(1000, function() {
// after 1 second do something
});
はStackOverflowのへようこそ、少し説明を追加してください。 – Robert
'$( "#要素")フェードアウト(関数(){//自分のものを行う});' –