ページの読み込み時に単純なアニメーションを偽造したいのですが、いくつかの png を順番に表示します。遅延メソッドを提供する最新バージョンの jQuery (執筆時点で 1.4.2) を使用します。私の最初の(脳死した)衝動は:
$('#image1').show('fast').delay(800);
$('#image2').show('fast').delay(1200);
$('#image3').show('fast');
もちろん全員同時に登場。jQuery doc の例では、複数のアイテムを処理するのではなく、チェーンされている単一のアイテムを参照しています。OK... show() からのネストされたコールバックを使用して再試行してください:
$('#image1').show('fast', function() {
$('#image2').show('fast', function() {
$('#image3').show('fast', function() {
});
});
});
見栄えは悪いですが (10 を実行することを想像してみてください。また、プロセッサ ヒットはどのようなものになるのだろうか) が、シーケンシャルに動作します! 遅滞なく。だから...そこからコールバック関数を使用してshow()の後にdelay()をチェーンします(サポートしているかどうかさえわかりません):
$('#image1').show('fast').delay(800, function() {
$('#image2').show('fast').delay(1200, function() {
$('#image3').show('fast');
});
});
うーん。私が考えていたのとは逆の結果: コールバックは機能しますが、それでも遅延はありません。それで...ネストされたコールバックの代わりに、キューと遅延の組み合わせを使用する必要がありますか? キューの jQuery doc の例でも、たとえば 1 つの要素のみを使用しています。これにはカスタム キューの使用が含まれると推測されますが、これを実装する方法は不明です。それとも、簡単な方法がありませんか?(簡単な問題の場合!)