のjQueryAPIドキュメントにshow()
は、jQuery 1.4.3以降、次の.show()
ように呼び出すことができると記載されています。
.show( [duration ] [, easing ] [, complete ] )
引数は次のとおりです。
duration
(デフォルト:400):アニメーションの実行時間を決定する文字列または数値。easing
(デフォルト:swing):トランジションに使用するイージング関数を示す文字列。complete
:アニメーションが完了したら呼び出す関数。
イージングは必要ないので、このバージョンと呼びます。
.show( [duration ] [, complete ] )
divを表示し、5秒間待ってから、500ミリ秒以上フェードアウトする関数が1つあります。
私はこれを試しました:
$('#some_div').show( {
duration: 5000,
complete: function() { fadeOutHelper(500); }
} );
この:
$('#some_div').show(5000, function() { fadeOutHelper(500); } );
また、どちらの場合もshow()
、ヘルパー関数を呼び出す前に実際には5000ミリ秒待機します。
StackOverflowで回避策を見つけましたsetTimeout()
:jQueryを5秒間表示してから非表示にする
$('#some_div').show();
setTimeout(function() { fadeOutHelper(500); }, 5000);
show()
回避策はありますが、jQueryドキュメントの非常に単純な関数の引数をどのように誤解しているのかを理解したいと思います。